我正在尝试播放手机歌曲集中的音乐。
声音效果属性是否支持播放歌曲集合?
以前我使用媒体播放器播放歌曲,但我想将音乐设置为不可暂停。
音效代码: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
是包含音乐流的类,只能通过Media Player播放。你的代码不能工作的原因是FromStream方法要求流为:
- 一个PCM波形文件
- 单声道或立体声
- 8位或16位
- 8,000 Hz ~ 48,000 Hz采样率
我没有尝试过,也不知道认证指南是什么,但是你可以用MediaPlayer
使音乐不可暂停。处理mediastatechange事件并检查音乐是否暂停。如果是,则调用Resume方法继续播放。
编辑-更新代码:
处理mediastagechange事件与处理其他事件相同。
MediaPlayer.MediaStateChanged += new EventHandler<EventArgs>(MediaPlayer_MediaStateChanged);
在事件处理程序中,这样做:
void MediaPlayer_MediaStateChanged(object sender, EventArgs e)
{
if (MediaPlayer.State == MediaState.Paused) MediaPlayer.Resume();
}