1

我创建了一个利用原始libFLAC.dll代码在 Windows Phone 8.0 上播放 FLAC 文件的项目。它曾经在 MediaElement 和 WP 8.0 的后台工作,但在将项目更新到 Windows Phone 8.1 后,声音开始闪烁,组件开始“堆栈溢出”。

由于 Silverlight 8.1 不支持背景音频,我已将该项目更新为 Windows Phone 8.1 运行时项目。虽然问题出在 Windows Phone 运行时应用程序中同时使用背景音频和 MediaElement 时。

似乎不清楚,我想澄清一下:我创建了一个MediaStreamSource 适配器,它连接 Windows.Media.Core.MediaStreamSource 事件并完成所有工作。我当然不使用 Silverlight 的 MediaStreamSource 实现。

在 MSDN 论坛上创建了一个帖子,可以找到更多详细信息,并在 CodePlex 上开源了该项目,因此每个人都可以获取 WP 8.0 和 WP 8.1 的源代码,看看出了什么问题。

我真的希望有人能找到解决方法,或者至少让微软知道这个问题。

4

1 回答 1

0

Okay, so thanks to MSDN forums community an @mcosmin especially, the solution was found and it is pretty simple.

To fix this, I simply need to set the Duration property of the MediaStreamSample, because unlike Silverlight's sample, WinRT's sample cannot calculate it on its own.

于 2014-08-15T09:37:20.663 回答