c# - MediaPlayer通用Windows应用

标签 c# audio uwp windows-10-universal lumia

我开始使用xamarin开发应用程序,而解决方案中的一个项目就是UWP。

当有人单击按钮时,我需要在那儿播放声音。我正在使用MediaPlayer达到我的目标,在Windows 10(台式机)上,它可以正常工作,但是在Windows Mobile 10(Lumia 930)上,它的启动延迟很长(大约1第二)。

下面我提供了播放音频源的代码:

MediaPlayer _player = BackgroundMediaPlayer.Current;
_player.SetUriSource(new Uri(String.Format("ms-appx:///Assets/Sound/5s.wav", UriKind.Absolute)));            
_player.Play();

我的问题是:

除了MediaPlayer之外,还有其他方法可以在UWP中播放音频吗?

最佳答案

如果您没有使用背景音频的特定原因,则可以只使用media元素在前景中播放音频:

<!-- create element in XAML or in code -->
<MediaElement Name="mediaElement" ... />


// Code - set source or reference to stream
MediaElement mediaElement = new MediaElement();
mediaElement.Source = new Uri("msappx:///Media/sound.mp3");    

我还建议检查supported codecs的列表。

在更复杂的情况下,您可能需要查看Audio Graph API。

关于c# - MediaPlayer通用Windows应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37309432/

相关文章:

jquery - 带有音频幻灯片的jQuery HTML

javascript - 如果一个新的音频文件已经在播放,为什么要开始播放? (JS)

ionic2 - 在 Windows Phone 10 上运行 Ionic 2 应用程序

c# - 如何从我的命令行捕获标准输出?

c# - Azure Durable Functions 无法将 HttpRequestMessage 作为 OrchestrationClient.StartNewAsync 的输入传递

c - SDL_OpenAudioDevice:从实时处理的源缓冲区连续播放

c# - 将焦点设置到 uwp 中的文本框

c# - UWP 打印需要扩展到多个页面的长数据网格

c# - 如何在 C# 中访问不强制转换的多态方法

c# - LINQ 表与 Entity Framework 连接