我正在研究控制音量的不同方法,我似乎无法在我的Windows Phone 7.1应用程序中设置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;
}
有谁知道我误解了一个简单明显的事实?
答案 0 :(得分:1)
我不熟悉MediaPlayer,但看起来你不再允许在从Zune库播放时设置音量和静音属性。 Changes in XNA Studio 4.0
我假设您的ml
变量引用了Zune媒体库,这就是您遇到此问题的原因。如果您停止播放歌曲,然后调整音量或预先调整音量,则问题应该消失。
您还可以查看MediaElement
,看看它是否适合您的方案。
答案 1 :(得分:0)
或者您的设备不支持MediaPlayer Volume API。
来自:Tips for XNA WP7 developers
电台强>
·永远不要依赖声音作为向玩家发出游戏中发生的事情的唯一信号。他们可能会关闭声音。他们可能会在某个地方大声玩耍。等
·你必须提供控制来禁用声音&音乐。这些应该是分开的。
·在至少一种型号的手机上,音量控制API目前无效。玩家可以通过硬件音量按钮调整声音,但在游戏选择器中根本不起作用。因此,除声音和音乐的开/关开关之外,提供任何东西可能是不值得的。