我使用WaveMediaStreamSource (WAVmss)库在 silverlight 媒体元素上播放波形文件。
它在我第一次将文件加载到元素中时播放,但是当我第二次尝试播放时它不会播放。
我使用了这里的示例。
也许我遗漏了一些东西,这是我第一次打开波形文件并成功播放的代码,这是我的媒体元素中读取和设置为源的文件:
OpenFileDialog openFileDialog = new OpenFileDialog();
MemoryStream audioSource = new MemoryStream();
if (openFileDialog.ShowDialog() == true)
{
using (FileStream fileStream = openFileDialog.File.OpenRead())
{
audioSource.SetLength(fileStream.Length);
fileStream.Read(audioSource.GetBuffer(), 0, (int)fileStream.Length);
}
}
WaveMSS.WaveMediaStreamSource audioStreamSource =
new WaveMSS.WaveMediaStreamSource(audioSource);
mediaElement1.SetSource(audioStreamSource);
当第一次播放结束时(我知道因为我得到了_MediaEnded
事件)我不能再播放这个视频了。
我尝试设置 MediaElement 的位置,但无法再次播放:
mediaElement1.Position = TimeSpan.FromSeconds(0);
mediaElement1.Play();
我对其进行了调试,并且 Position 属性确实设置为零,但是当我尝试再次单击播放时,位置属性移动到末尾并且_MediaEnded
事件再次弹出。
我能做些什么?