2011-06-30 10 views
1

どうすればこの問題を解決できますか?私もミュート機能を保存しなければならないと思いますが、これをどうやって行うのか分かりません。アンドロイドでサウンドをミュートするにはどうすればいいですか?

設定アクティビティのチェックボックスの設定に従って、自分のアクティビティでサウンドをミュートする方法について聞きたいことがあります。 設定ページはこのように表示されます。

私はMediaPlayerインスタンスによる別のアクティビティでサウンドを生成しています。 mp.start()。

私のアプリケーションを最初に実行するときはいつも、設定にアクセスしてチェックボックスをクリックして選択し、もう一度選択を解除すると音がミュートになるという問題があります。しかし、私がアプリケーションを実行し、私がサウンドを生成する私の活動に行くと、サウンドはミュートではありません。私は最初にサウンドを無効にする設定ページにアクセスする必要があります。

私のチェックボックスの状態は私のプリファレンスキーに保存されていますが、私のアプリケーションはミュートサウンド機能を保存していないので、まずミュート機能を有効にするために設定ページに行ってください。

どうすればこの問題を解決できますか?私もミュート機能を保存しなければならないと思いますが、これをどうやって行うのか分かりません。

答えて

2

私はあなたがPreferenceActivityクラスのインスタンスを使用していると仮定しています。

あなたの活動では、ミュート状態を設定する必要があります。

if(PreferenceManager.getSharedPreferences(this).getBoolean("soundprefkey", false)) 
{ 
    /* mute */ 
} else { 
    /* unmute */ 
} 

ここで、「soundprefkey」は、環境設定xmlで定義されているキーです。

PreferenceActivityクラスを使用していない場合は、これを検討してください。 thisをご覧ください。

+0

私は質問を更新しました。それを確認して助けてください。あなたの応答のthnks。 – Saad

+0

上記のコードをメインアクティビティで使用し、 'soundprefkey'をキーで置き換えます。 – nhaarman

+0

あなたはサウンドを有効または無効にするために私の主なアクティビティで上記のコードを使用しなければならないと言っています。これも考慮しますが、これは良いアプローチではないと思います。この問題を解決する他の方法はありませんか?私はこのコードを試しますが、もしあなたがもっと良いアイデアを持っているなら、私にこれを知らせてください。 Thnkx – Saad

関連する問題