【发布时间】:2012-11-29 03:33:12
【问题描述】:
我在我的 Windows Phone 7 应用程序中使用BackgroundAudioPlayer 代理。当track结束时,agent端收到TrackEnded事件,但UI端没有收到任何事件。
另外,当我故意将音轨的位置设置到它的末尾,然后调用Play(),代理端收到TrackEnded事件(因为轨道已经结束),但UI端确实收到@ 987654328@ 在其PlayStateChanged 处理程序中。好诡异!
如何让 UI 知道一首曲目已经结束?通过隔离存储进行通信不是我的最爱!
【问题讨论】:
-
在您的带有 UI 的应用中,您是否订阅了
BackgroundAudioPlayer实例的PlayerStateChanged事件?这个MSDN example 展示了如何将它全部连接起来。 -
@NeilTurner 是的,当然,我已经订阅了 UI 端的 PlayStateChanged 事件
-
当在
PlayStateChanged事件处理程序中时,BackgroundAudioPlayer.Instance.PlayerState == PlayState.TrackEnded会发生吗?我看到其他人对此有疑问,WP8 有新的 `IntermediatePlayState` 信息作为其EventArgs的一部分来提供帮助。 -
@NeilTurner TrackEnded 事件仅在代理端通知!
标签: windows-phone-7 events audio agent