1

基本機能を備えたメディアプレイヤーを作っているのですが、再生の一時停止や停止ボタンをクリックすると、「System.NotSupportedException」という例外が発生して動作がおかしくなりました。

必要なコードと xaml は次のとおりです。

XAML:

<MediaElement x:Name="VideoPreview" LoadedBehavior="Manual"  UnloadedBehavior="Stop" Width="auto" Height="250"  MediaOpened="Element_MediaOpened" MediaEnded="Element_MediaEnded" Source="{Binding SelectedItem.SourceUri, ElementName=VideoList}" Margin="5,5,5,5" Stretch="Fill"/>

コードビハインド:

void OnMouseDownPlayMedia(object sender, MouseButtonEventArgs args)
{         
    VideoPreview.Play();
}

// Pause the media. 
void OnMouseDownPauseMedia(object sender, MouseButtonEventArgs args)
{
    VideoPreview.Pause();
}

// Stop the media. 
void OnMouseDownStopMedia(object sender, MouseButtonEventArgs args)
{
    VideoPreview.Stop();
}

いずれかのマウス イベントがクリックされると、例外が発生します。

4

1 に答える 1

3

答えは実際にはエラー テキストにあります...またはが に設定されていない限り、メディアを制御できませんLoadedBehaviorUnloadedBehaviorManual。したがって、解決策はMediaElement.LoadedBehaviorまたはMediaElement.UnloadedBehaviorプロパティのいずれかを の値に設定することですMediaState.Manual

MSDNのMediaElement.LoadedBehaviorプロパティページから:

Play、Pause、および Stop メソッドを使用してメディアをインタラクティブに制御するには、LoadedBehavior を Manual に設定する必要があります。

MSDN から得られる情報は驚くべきものです。

于 2013-10-29T09:34:14.803 に答える