我的问题:如何使用代码隐藏正确示例化MediaSource示例和/或MediaElement,以便我可以:
- 在运行时以编程方式设置MediaElement源(它是FileSource)
- 再次从代码中正确调用Play函数
我打算隐藏控制,因为我只是想能够有选择地发挥短的声音"效果"没有播放器控制可见。但首先...
WelcomeVoicePlayer是PageContent xaml中的一个名为MediaElement的元素。我尝试使用该元素来播放我在运行时设置的声音和/或在运行时在ContentPage代码中更改的声音。
不起作用的方法:
// Neither of these approaches to setting Source worked...
var voiceFile = FileMediaSource.FromFile(tempVoicePath);
//WelcomeVoicePlayer = new MediaElement { Source = voiceFile };
// When Play is called I hear nothing, even though audio file is good etc...
WelcomeVoicePlayer.Play();
乐意重新示例化控制,如果需要为每个新的来源,但仍然需要能够设置源代码。
任何线索都感激不尽。
戴夫·G
非常感谢所有把MediaElement带到毛伊岛的人!
2条答案
按热度按时间sbdsn5lh1#
您可以使用uri来设置mediaelement源:
以下是有关播放本地媒体的信息,您可以参考。
p1tboqfb2#
我觉得你的第一个选择已经很接近了。你可能想试试这个:
一个完整的例子,我刚才看到自己的工作是:
有一件事我想指出的是,文件系统的访问在Windows和macOS上是相当直接的,但在移动设备上可能不是。有更多的事情要处理,如权限,或者可能是从云提供商加载的文件,首先需要下载。
如果某些东西不起作用,您可能希望挂接
MediaFailed
事件,以获取更多有关出错原因的详细信息。非常感谢所有把MediaElement带到毛伊岛的人!
不用谢!