我有一个包含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'继续播放视频。 –