我有一個包含MediaElements
的列表我想一個接一個地播放,但它們同時播放。什麼是最有效的方法來實現這一目標?一個接一個地播放MediaElements UWP
我的代碼:
foreach (MediaElement m in MediaList)
{
m.Play();
}
我有一個包含MediaElements
的列表我想一個接一個地播放,但它們同時播放。什麼是最有效的方法來實現這一目標?一個接一個地播放MediaElements UWP
我的代碼:
foreach (MediaElement m in MediaList)
{
m.Play();
}
您可以利用MediaEnded
事件。不是一個優雅的方式,但會完成這項工作。例如。
foreach (var m in MediaList)
{
m.MediaEnded += MediaElement_MediaEnded;
}
事件處理程序:
private void MediaElement_MediaEnded(object sender, RoutedEventArgs e)
{
// Play next MediaElement from list
if (currentMediaIndex < MediaList.Count - 1)
{
MediaList[currentMediaIndex + 1].Play();
currentMediaIndex++;
}
// Or start from 0
else
{
currentMediaIndex = 0;
MediaList[currentMediaIndex].Play();
}
}
定義
int currentMediaIndex = 0;
並播放第一MediaElement
MediaList[0].Play();
有些事情是錯誤的,因爲它同時播放它們。 –
我檢查了MediaEnded事件沒有開火,不知道爲什麼。 –
我更新了代碼。你是否在後面的代碼中定義了MediaElement? –
有一個[示例](https://github.com /微軟/ Windows的通用樣本/樹/ e13cf5dca497ad661 706d150a154830666913be4/Samples/VideoPlayback)在Scenario7中使用'MediaPlaybackList'繼續播放視頻。 –