可以';t在WP7模拟器上使用MediaElement播放mp3
本文关键字:MediaElement mp3 播放 模拟器 WP7 可以 | 更新日期: 2023-09-27 18:19:32
我有一个应用程序,我在其中有一些预先录制的文本到语音(因为没有默认的支持文本到语音),然后我想像这个一样播放它们
var mediaElement = new MediaElement();
mediaElement.Source = new Uri("sound.mp3", UriKind.Relative);
mediaElement.Position = new TimeSpan(0);
mediaElement.Play();
但什么都没发生,我必须在UI中创建一个"真正的"控件吗?我只想在事件发生时播放这个声音,我没有错误或什么都没有,无论mp3是否在默认文件夹中。
它没有播放的原因是因为您没有将它添加到可视化树中。以编程方式创建MediaElement
时,需要将其添加到树中的某个位置。您必须在UI中创建一个"真正的控件",但它不必被看到。
var mediaElement = new MediaElement();
mediaElement.Source = new Uri("sound.mp3", UriKind.Relative);
mediaElement.Position = new TimeSpan(0);
LayoutRoot.Children.Add(mediaElement); //Add to visual tree
mediaElement.Play();
这取决于声明mediaElement
后代码中发生的情况。目前,一旦您在中声明它的方法结束,mediaElement
就会脱离作用域,并有资格进行垃圾收集。
您需要:
- 将
mediaElement
作为某个内容的父级,也许是您的UI - 使
mediaElement
成为类上的静态字段
话虽如此,Emulator是否支持通过MediaElement
播放?