我创建了一个利用原始libFLAC.dll代码在Windows 8.0上播放FLAC文件的项目。它过去既可以在MediaElement中工作,也可以在WP8.0的背景下工作,但是在将项目更新到Windows 8.1之后,声音变得闪烁起来,组件开始“堆栈溢出”-ing。
我已经更新到Windows 8.1运行时项目,因为Silverlight 8.1不支持背景音频。虽然问题是在Windows运行时同时使用背景音频和MediaElement。
似乎不清楚,我想澄清一下:我已经创建了一个MediaStreamSource适配器,它可以连接Windows.Media.Core.MediaStreamSource事件并完成所有工作。当然,我不使用Silverlight的MediaStreamSource实现。
我已经创建了一个MSDN论坛上的线程,在这里我们可以找到更多的细节,以及开源的CodePlex项目,这样每个人都可以使用WP8.0和WP8.1的源代码,看看哪里出了问题。
我真的希望有人能找到解决办法,或者至少让微软解决这个问题。
发布于 2014-08-15 09:37:20
好的,特别是感谢MSDN论坛社区an @mcosmin,找到了解决方案,而且非常简单。
要解决这个问题,我只需要设置MediaStreamSample的MediaStreamSample属性,因为与Silverlight的示例不同,WinRT的示例不能单独计算它。
https://stackoverflow.com/questions/23081505
复制相似问题