Windows Phone 7中的音效

时间:2011-08-06 09:52:09

标签: c# windows-phone-7

我正在尝试播放手机歌曲集中的音乐

音效属性是否支持从歌曲集中播放

以前我使用媒体播放器播放歌曲,但我想将音乐设置为暂停

音效代码:             声音效果;             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;
        }

1 个答案:

答案 0 :(得分:1)

Song是一个包含音乐流的类,只能与媒体播放器一起播放。您的代码无效的原因是因为FromStream方法要求流为:

  
      
  • PCM wave文件
  •   
  • 单声道或立体声
  •   
  • 8或16位
  •   
  • 介于8,000 Hz和48,000 Hz之间的采样率
  •   

我没有试过这个,也不知道认证指南对它的影响,但是你可以使用MediaPlayer使音乐不可用。处理MediaStateChanged事件并检查音乐是否已暂停。如果是,则调用Resume方法继续播放。

编辑 - 使用代码更新:

处理MediaStageChanged事件与任何其他事件相同。

MediaPlayer.MediaStateChanged += new EventHandler<EventArgs>(MediaPlayer_MediaStateChanged);

在您的事件处理程序中,执行以下操作:

void MediaPlayer_MediaStateChanged(object sender, EventArgs e)
{
    if (MediaPlayer.State == MediaState.Paused) MediaPlayer.Resume();
}