ここに(2014年初頭に)投稿された古い質問を再訪しています:
最近のプロジェクトでは、既存の通話をミュートしてユーザーからの音声録音を取得できるアプリを構築しています。通話中の音声録音が機能することはわかっていますが、問題ありません (ユーザーのマイクのみを録音します)。これで、プログラムでボリュームを減らすこともできます。これは、Githubのコードを使用して行ったものです。
具体的には、AudioManagerクラスを使用して音量を 0 に設定し、バックアップとしてミュートしていますが、機能しません..これは Samsung 固有の問題であるかどうか疑問に思っています..
mgr.setStreamVolume(stream, progress, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.adjustVolume(AudioManager.ADJUST_MUTE, AudioManager.FLAG_VIBRATE);
boolean a = mgr.isVolumeFixed();
Log.d("MUTING", "Volume fixed: "+a);
boolean streamMuteStatus = mgr.isStreamMute(stream);
Log.d("MUTING", "Stream Mute Status: "+streamMuteStatus);
テスト目的で上記のブール変数を出力していますが、どちらも「False」を出力します。
しかし、Samsung S5 デバイスでは、音量を 0 に設定できません。これは、音量スライダーを使用して通話中の音量を調整する場合にも当てはまります。スライダーは、シークバーの左端の位置に物理的に移動しません。ドラッグできる一番左の位置については、下の図を参照してください。
着信通話ストリームをミュートする方法について何かアイデアはありますか?