0

C# と XAML で Windows 8 用のアプリを作成しています。再生ボタンと一時停止ボタンのあるメディア要素にビデオを含めましたが、クリックするとビデオを特定のポイントまで再生してから一時停止する別のボタンを含めたいと考えています。これは可能ですか?

私は同じことをしているこの投稿を読んでいましたが、Windows Media Player SDKを使用しています。C#についてはあまり詳しくないので、アドバイスをいただければ幸いです。

ありがとう

編集

//Play method

if(ispaused == true && isplaying == false)
{
  VideoPlayer.Play();
}

//Pause method

if(ispaused == false && isplaying == true)
{
  VideoPlayer.Pause();
}
4

2 に答える 2

4

MediaElement.MarkersプロパティとMediaElement.MarkerReachedイベントは次のように使用する必要があります。

イベントのイベント ハンドラーを指定しMarkerReachedます。

VideoPlayer.MarkerReached += new TimelineMarkerRoutedEventHandler(VideoPlayer_MarkerReached);

次に、動画に を追加TimelineMarkerします。

VideoPlayer.Markers.Add(new TimelineMarker() {
        Time = TimeSpan.FromSeconds(30),
        Type = "ForcePause",
        Text = "Test"} );

最後に、イベント ハンドラーにコードを追加します。

private void VideoPlayer_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
{
    // you can check the type if you want to be safe
    if (e.Marker.Type.Equals("ForcePause"))
    {
        VideoPlayer.Pause();
    }
}
于 2012-12-13T13:07:14.550 に答える
0

特定の時間から開始し、特定の期間動作するバックグラウンド メディア プレーヤー (オーディオ ファイルなど) を再生する場合は、次のコード スニペットも役立ちます。

    StorageFile mediaFile = await KnownFolders.VideosLibrary.GetFileAsync(fileName);//the path
    BackgroundMediaPlayer.Current.SetFileSource(mediaFile);
    BackgroundMediaPlayer.Current.Position = TimeSpan.FromMilliseconds(3000/*enter the start time here*/);
    BackgroundMediaPlayer.Current.Play();
    await Task.Delay(TimeSpan.FromMilliseconds(10000/*for how long you want to play*/));
    BackgroundMediaPlayer.Shutdown();//stops the player
于 2016-06-07T19:19:33.077 に答える