【发布时间】:2011-05-19 16:25:08
【问题描述】:
我想要实现的是:
- 播放媒体库中的背景音乐
- 在某个触发器上,淡出音乐,播放另一个 mp3 文件(长度不一,秒到一分钟)
- 播放该段音频后,从库中恢复以前的音乐
现在我遇到了这些限制:
- 为了访问和播放用户库中的音乐,我需要使用 MediaPlayer XNA 类。
- 为了播放任意 mp3 文件,我需要使用 MediaPlayer 或 MediaElement,但不能使用 SoundEffect 或 SoundEffectInstance
- 如果我使用 MediaElement 播放任何内容,MediaPlayer 会停止。它完全失去了音频队列,所以我需要播放剩余的音乐,但这没问题
- MediaPlayer 不支持搜索,所以我无法打开上一首歌曲,只能转到暂停前的位置
所以:
- 我不想使用 SoundEffect 或 SoundEffectInstance,因为音频必须是 wav 文件。
- 我不能只使用 MediaPlayer,因为如果我在那里播放音频来中断歌曲,我将无法找到它之前的位置
- 我不能使用 MediaPlayer 和 MediaElement 的组合,因为 MediaPlayer 会停止 MediaPlayer,这再次阻止我恢复之前的播放
- 我不能只使用 MediaElement,因为它无法播放库中的歌曲
你有没有看到我遗漏的东西,或者真的是我必须吸收它并使用 wav 文件的唯一选择? (会有很多这样的动态下载,这种方式显然效率低下!)有什么建议吗?
谢谢!
【问题讨论】:
-
我没试过,但是如果你在调用 MediaElement 之前暂停它,MediaPlayer 还会停止吗?
-
可以使用 MediaElement 作为用户的库吗?
-
@vlad - 不,MediaElement 只能访问独立存储或外部 URI。目前,只有媒体播放器可以访问用户的库。
-
或者,您可以在想要播放 MediaElement 时暂停 MediaPlayer,然后在 MediaElement 播放完毕后恢复 MediaPlayer?
-
@keyboardP 谢谢,我不知道。
标签: windows-phone-7 mp3 media-player mediaelement