如何检查MediaPlayer是否已完成声音加载?

本文关键字:已完成 是否 声音 加载 MediaPlayer 何检查 检查 | 更新日期: 2023-09-27 18:06:21

我正在尝试使用MediaPlayer类(System.Windows.Media.Mediaplayer)的简单游戏同时播放多个声音。

为了在同一时间多次播放相同的声音,我创建了自己的类,它可以多次加载相同的声音。

下面是一个简短的例子:

sound = new MediaPlayer[count]; //array of MediaPlayers
//...
for (int a = 0; a < count; a++)
{
      sound[a] = new MediaPlayer();
      sound[a].Open(new System.Uri(sp + pfad)); //load sound
}

我的问题是:
如果我尝试在游戏开始后不久播放声音,要么我听不到声音,要么我加载的第一个声音开始播放(即使我尝试播放完全不同的声音)。

似乎所有这些mediaplayer(我正在加载~100)都需要一些时间来加载声音。因此,我正在寻找一种方法来检查是否加载完成。

如何检查MediaPlayer是否已完成声音加载?

正在加载还是正在播放?当媒体完成播放时,它触发MediaEnded事件,当缓冲完成时,它触发BufferingEnded事件。媒体播放器事件。