1

次のコードを使用して、プレイリストに動画を作成してループさせました。

private void Form1_Load(object sender, EventArgs e)
{
   var pl = axWindowsMediaPlayer1.playlistCollection.newPlaylist("plList");
   pl.appendItem(axWindowsMediaPlayer1.newMedia(@"C:\ABC\abc.mp4"));
   pl.appendItem(axWindowsMediaPlayer1.newMedia(@"C:\XYZ\xyz.mp4"));

   axWindowsMediaPlayer1.currentPlaylist = pl;            
   //axWindowsMediaPlayer1.settings.setMode("loop", true);            
   axWindowsMediaPlayer1.Ctlcontrols.play();
}

ただし、プレイリストの次のアイテムは、プレイリストの現在のアイテムが終了する 2 秒前に再生されることがわかりました。次に、新しいアイテムが最初から再生されます (つまり、アイテムの最初の 2 秒間が、現在のアイテムの終了前に 1 回、次のアイテムの開始時に 1 回、合計 2 回再生されます)。

現在のアイテムの再生が完了した後にのみ次のアイテムがロードされるようにするにはどうすればよいですか?

要件 2:プレイリストの最後を検出する方法 (つまり、すべてのビデオの再生後)

PlayStateChangeイベントでキャプチャしようとしましたが、 Media EndedStoppedLastのいずれの状態でもキャプチャできません

4

1 に答える 1