【发布时间】:2014-03-07 04:37:14
【问题描述】:
我使用 MediaElement 播放视频,使用 BackgroundAudioPlayer 播放音频。
这是一个案例。
我正在通过 BackgroundAudioPlayer 播放远程音频。 然后我想播放视频,在 MediaElement 开始播放视频之前,我按照 BackgroundAudioPlayer 最佳实践中的建议调用 BackgroundAudioPlayer.Close。
MediaElement and the BackgroundAudioPlayer
Care must be taken when mixing BackgroundAudioPlayer and MediaElement for audio playback.
1. Close() must be called before switching to MediaElement playback.
2. There is only one media queue. Your application cannot pause background audio, play something with MediaElement then resume the background audio stream.
但在播放视频后,我想再次播放音频。
// Play audio result
BackgroundAudioPlayer.Instance.Track = new AudioTrack(new Uri(audioSearchResult.Url, UriKind.Absolute), audioSearchResult.Title, null, null, null,
AudioPlayer.TrackStateBuffering, EnabledPlayerControls.All);
BackgroundAudioPlayer.Instance.Play();
我在第一行代码中收到InvalidOperationException,上面写着“背景音频资源不再可用”。
那么在使用 MediaElement 之后如何在我的应用中重用 BackgroundAudioPlayer 呢?
编辑:
如果使用 MediaPlayerLauncher 而不是 MediaElement,它会在第二次播放音频时起作用,因为在 MediaPlayerLauncher 启动时应用程序被墓碑化。但是是否可以在一个应用程序中混合 MediaElement 和 BackgroundAudioPlayer !?!?! 似乎又是来自 MS 的噩梦:(
【问题讨论】:
-
我看到使用MediaPlayerLauncher时,我不需要调用Close :)
-
完全相同的问题(MediaElement 播放视频,BackgroundAudioPlayer 播放音频)并在关闭后偶然发现了这个问题。只是设计/记录不佳的sdk。我想我会尝试 MediaPlayeRLauncher 并撕掉 MediaElement 代码.. sigh
标签: windows-phone-7 mediaelement background-audio