我使用 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 的另一个噩梦:(