1

我正在研究控制音量的不同方法,但似乎无法在我的 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;
}

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

4

2 回答 2

1

我不熟悉 MediaPlayer,但从 Zune 库播放时,您似乎不再被允许设置 Volume 和 Muted 属性。XNA Studio 4.0 的变化

我假设您的ml变量引用了 Zune 媒体库,这就是您遇到此问题的原因。如果您停止播放歌曲,然后调整音量,或事先调整音量,那么问题应该会消失。

你也可以看看MediaElement它是否适合你的场景。

于 2012-04-15T17:36:27.787 回答
0

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

来自:给 XNA WP7 开发者的提示

声音的

· 永远不要依赖声音作为向玩家发出游戏中正在发生某些事情的唯一信号。他们可能会关掉声音。他们可能在某个地方大声播放。等等。

· 你必须提供控制来禁用声音和音乐。这些应该是分开的。

·在至少一种型号的手机上,音量控制 API 目前无效。玩家可以使用硬件音量按钮调节声音,但在游戏中选择器根本不起作用。因此,除了声音和音乐的开/关开关之外,可能不值得付出任何努力。

于 2012-06-28T12:23:48.083 回答