Windows Phone 7中的音效
我正在尝试从手机歌曲集中播放音乐 。
声音效果属性是否支持从歌曲集中播放 ?
以前我使用媒体播放器播放歌曲,但我想将音乐设置为不能暂停 。
声音效果代码:SoundEffect效果; SoundEffectInstance实例;
effect = SoundEffect.FromStream(ml.Songs[songSelectedIndex]); instance = effect.CreateInstance(); instance.IsLooped = true; instance.Volume = 1.0f; instance.Pitch = 1.0f; instance.Play();
媒体库代码:
using (var ml = new MediaLibrary()) { FrameworkDispatcher.Update(); MediaPlayer.Play(ml.Songs[songSelectedIndex]); MediaPlayer.IsRepeating = true; }
Song
是一个包含音乐流的类,只能与媒体播放器一起播放。 您的代码无法正常工作的原因是因为FromStream方法要求流为:
- PCM波形文件
- 单声道或立体声
- 8位或16位
- 在8,000 Hz和48,000 Hz之间采样率
我没有试过这个,也不知道认证指南对它的影响,但是你可能会使MediaPlayer
使音乐无法发生。 处理MediaStateChanged事件并检查音乐是否已暂停。 如果是,则调用Resume方法继续播放。
编辑 – 使用代码更新:
处理MediaStageChanged事件与任何其他事件相同。
MediaPlayer.MediaStateChanged += new EventHandler(MediaPlayer_MediaStateChanged);
在事件处理程序中,执行以下操作:
void MediaPlayer_MediaStateChanged(object sender, EventArgs e) { if (MediaPlayer.State == MediaState.Paused) MediaPlayer.Resume(); }