有没有一种方法可以检测到用户何时插入或拔出wp7上的耳机?
问题是,当一首歌曲在后台AudioPlayerAgent上播放时,用户打开电源拔掉电话插头时,AudioPlayerAgent的protected override void OnUserAction方法会收到一个pause UserAction并暂停音乐。
我需要检测UI线程上的插拔,这样才能更新GUI以反映暂停状态。
发布于 2012-03-15 04:29:37
您需要在页面中订阅BackgroundAudioPlayer的PlayStateChanged事件:
public void MainPage()
{
InitializeComponent();
BackgroundAudioPlayer.Instance.PlayStateChanged += InstanceOnPlayStateChanged;
}
private void InstanceOnPlayStateChanged(object sender, EventArgs eventArgs)
{
// Update UI
}发布于 2012-03-15 01:42:49
我不相信目前有任何API来查询耳机的当前状态。
您可以使用Media元素来破解您的问题的解决方案。无论何时拔出耳机,媒体元素都会引发一个CurrentStateChanged事件,因此您可以通过连接此事件来更改图形用户界面的状态。这不是最优雅的解决方案,但它可能是目前唯一的方法。
https://stackoverflow.com/questions/9706706
复制相似问题