无法设置MediaPlayer.Volume

问题描述:

我正在研究控制音量的不同方法,并且我无法在Windows Phone 7.1应用程序中设置MediaPlayer.Volume。基本上,打电话无法设置MediaPlayer.Volume

MediaPlayer.Volume = value; 

没有效果,并调用MediaPlayer.IsMuted = TRUE没有效果。

例子:

public MainPage() 
{ 
    InitializeComponent(); 
    //Play a song from the collection 
    FrameworkDispatcher.Update(); 
    MediaPlayer.Play(ml.Artists[0].Songs[0]); 
} 

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    //Reduce volume to 0 
    FrameworkDispatcher.Update(); 
    MediaPlayer.Volume = 0.0f; 
    //If I set a breakpoint here, MediaPlayer.Volume is 1.0 
} 

private void Button_Click_1(object sender, RoutedEventArgs e) 
{ 
    //This also has no effect... 
    FrameworkDispatcher.Update(); 
    MediaPlayer.IsMuted = !MediaPlayer.IsMuted; 
} 

有谁知道我误解了什么简单明显的事实?

我对MediaPlayer并不熟悉,但看起来您不再允许在从Zune库中播放时设置音量和静音属性。 Changes in XNA Studio 4.0

我假设你的ml变量是指一个Zune媒体库,这就是为什么你有这个问题。如果您停止播放歌曲,然后调整音量或事先调整音量,则问题应该消失。

您也可以查看MediaElement并查看它是否适合您的方案。

或者您的设备不支持MediaPlayer Volume API。

来源:Tips for XNA WP7 developers

音频

·从不依靠声音作为独家信号的东西在游戏中发生的球员。他们可能会发出声音。他们可能在大声玩耍。等等

·您必须提供控件以禁用音乐&音乐。这些应该是分开的。

·在至少一个手机型号中,音量控制API目前不起作用。玩家可以用他们的硬件音量按钮调整声音,但在游戏选择器中无法正常工作。因此,除了提供声音和音乐的开/关开关之外,可能不值得付出任何努力。