我将本地声音文件转换为资源,该资源在我的 XAML 中构建:
<UserControl.Resources>
<my:Uri x:Key="SoundFiles">file:///c:/Audio/HebrewDemo/Shalom.wav</my:Uri>
</UserControl.Resources>
我通过将本地磁盘 mp3 文件名粘贴到源中来做到这一点,然后按源单击“点”并选择“将值提取到资源”。
当我运行时,它告诉我“Uri”无效,果然,在 Intellisense 中,我看到其他以“uri”开头的元素,而不仅仅是 URI 本身。
在现实世界中,我想指定一个动态 mp3 文件名。例如,我可能有一个用于抽认卡的外语单词数据库,我想在 URL 上播放声音文件。但我想我会在跑步之前尝试走路...
现在我正在尝试这个:
mediaElement1.Source = new Uri(
"http://HebrewResources.com/SoundFiles/Shalom.mp3",
UriKind.Absolute);
mediaElement1.Play();
FireFox 浏览器中的状态栏指示正在从网站传输的一些数据。然而,我从来没有听到任何声音。可能只是编码问题吗?如果没有正确编码,我会收到错误吗?
另外,我可以将 Uri 语句放在 load 中或让它在后台运行,以便用户可以在下载声音文件的同时阅读屏幕吗?换句话说,当他单击按钮收听声音文件时,理想情况下它已经为他预加载了。在这个语言学习应用程序中,用户会看到一个外语单词,并尝试自己发音,然后他会单击“播放”按钮听到声音来检查他的结果。