1

ボリュームを制御するためのさまざまな方法を調査していますが、WindowsPhone7.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 をサポートしていないだけです。

From: XNA WP7 開発者向けのヒント

オーディオ

· ゲーム内で何かが起こっていることをプレイヤーに知らせる唯一の信号として、音だけに頼らないでください。彼らは音を消しているかもしれません。どこかで大音量で演奏している可能性があります。等。

· サウンドと音楽を無効にするためのコントロールを提供する必要があります。これらは別々にする必要があります。

·電話の少なくとも 1 つのモデルでは、ボリューム コントロール API は現在効果がありません。プレーヤーはハードウェアの音量ボタンでサウンドを調整できますが、ゲーム セレクターは機能しません。そのため、サウンドと音楽のオン/オフ スイッチ以外のものを提供する努力に値しない場合があります。

于 2012-06-28T12:23:48.083 に答える