2

我开发了一个使用解码器库的音频播放器,所以现在我不知道如何让它可以在后台运行。我已经阅读了“windows phone 的背景音频概述”,但它是系统播放器的默认设置。那么如何为我自己的音频播放器做到这一点呢?任何解决方案?

谢谢!

4

1 回答 1

1

首先,“windows phone 的背景音频概述”是关于错误的平台。这是关于银光的。如果你想要 WP8.1-WinRT 平台,这里是正确的概述文章

其次,是的,您不能拥有自己的音频播放器,因为它在操作系统中集成得太深(我的意思是通用音量控制、通话暂停等)。您可以实现自己的自定义解码器。你需要从任何你想要的地方读取媒体样本,并在被询问时以操作系统理解的任何格式将它们提供给操作系统实现的媒体管道。如果您正在开发类似 FLAC 播放器的东西,您可能需要提供未压缩的 PCM 样本。

如果您的目标是 WinRT 平台,则需要编写一些 C++/CX 代码来开发实现 IMFMediaSource 接口的 COM 对象。另一个实现 IMediaSource 和 IMFGetService 接口,并创建 IMFMediaSource 对象的实例。

如果您改为以 Silverlight 为目标,您将能够通过实现MediaStreamSource以纯 C# 开发您的应用程序。如果您要从网络异步流式传输音频,由于 async-await 功能,C# 方法应该更容易。

于 2015-09-13T20:00:11.597 回答