Sound effect in 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是包含音乐流的类,只能通过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();
}

最新更新