1

目前,在我的应用程序中,我暂停了手机正在播放的任何音乐,并使用 MediaElement 播放任何声音。声音响起后,音乐继续。一切正常,但现在我想降低音乐音量而不是停止它。

1)这可以在wp7上完成吗?

2)如果是这样怎么办?当我尝试像这样改变音量时。

void PauseMusic()
{
   FrameworkDispatcher.Update();
   // Pause the Zune player if it is already playing music.
   if (!MediaPlayer.GameHasControl)
   {
      //MediaPlayer.Pause();
      MediaPlayer.Volume = 0.7f;
      resumeMediaPlayerAfterDone = true;
   }
 }

音频是这样播放的。

void PlayAudioCue(string path)
{
    PauseMusic();
    AudioPlayer.Stop();            
    AudioPlayer.Source = new Uri("/Audio/" + path, UriKind.Relative);            
}

void AudioPlayer_MediaOpened(object sender, RoutedEventArgs e)
{
    AudioPlayer.Position = new TimeSpan(0);
    AudioPlayer.Volume = 1;
    AudioPlayer.Play();
}
4

1 回答 1

1

首先,我打赌您想将您的应用程序发布到市场。它将无法通过认证过程。查看 6.5.1 段 - 初始启动功能

当应用程序启动时用户已经在手机上播放音乐时,应用程序不得通过调用 Microsoft.Xna.Framework.Media.MediaPlayer 类暂停、恢复或停止手机 MediaQueue 中的活动音乐。

如果应用程序播放自己的背景音乐或调整背景音乐音量,它必须征得用户同意停止播放/调整背景音乐(例如消息对话框或设置菜单)。每次启动应用程序时都必须出现此提示,除非向用户提供了选择加入设置并且用户已使用此设置选择加入。

更多细节

我不是 100% 确定,但你不能降低用户音乐的音量。

于 2012-05-08T16:25:25.580 回答