我在运行WP8的设备上使用AudioPlaybackAgent
播放音轨时遇到问题。它适用于WP7,但不适用于WP8。它只适用于WP8,所以没有明确的步骤如何重现它。似乎问题在于,当新曲目即将播放并且我已将BackgroundAudioPlayer.Instance.Track
设置为新AudioTrack
时,它不会收到onPlaystateChanged.TrackReady
。
这是为什么?我也没有收到onError
。
在WP8设备上播放音频是否存在已知错误?它发生在大约50%的时间,并且相同的轨道既可以工作也可以不工作。这可能是什么问题?请帮忙。微软的任何人可以提供帮助吗?非常感谢。
答案 0 :(得分:0)
50%的时间发生这种事实让我怀疑这可能是WP7上没有发生的竞争条件。
在更改曲目时,您是否正在从后台代理进行任何线程锁定(使用Mutex
,lock()
等)?我有一个类似的WP8后台音频应用程序,以前在WP7上工作,并在我的代码中追溯到一个死锁。
不要忘记WP8现在有双核处理器,更有可能遇到这样的问题。见this post from someone on the Windows Phone team about back-compat between WP8 and 7。特别有趣的是该帖子中名为“运行时行为更改”的部分。