2014-11-28 2 views
1

제목에서 알 수 있듯이 통화가 연결되기 전에 소리를 음소거하고 싶습니다. 코드를 시도 또한안드로이드 어떻게 스트리밍 음성 통화를 완전하게 음소거 할 수 있습니까?

mAudioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, true); 

과 : 나는 코드 아래로 스트리밍 설정

mAudioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, 0, 0); 

그것은 가장 낮은에서 소리를 낼 수 있지만, 그것은 침묵하지 않습니다. 여전히 작은 소리가 있습니다. 이번에 다른 음악을 틀면 함께 섞을 것입니다. 나는이 소송을 원치 않는다.

이 문제를 피할 수있는 아이디어가 있습니까? 많은 감사합니다.

+0

내 생각 엔 Android에서 허용하지 않는 것입니다. 통화 도중 수동으로 끝까지 돌리려고하면 최소 볼륨이됩니다 (적어도 내 M8에서는). 어쩌면 당신은 사운드를 음소거하여 달성하고자하는 것을 스스로 물어야하며, 다른 방법으로 이것을 달성 할 수 있다면 어떨까요? –

+0

이것을 확인하십시오 http://stackoverflow.com/questions/13101624/muting-streams-in-android –

답변

0

내 MP3 플레이어의 코드는이 문제를 해결하는 데 도움이됩니다.

phoneStateListener = new PhoneStateListener() { 
      @Override 
      public void onCallStateChanged(int state, String incomingNumber) { 
       // String stateString = "N/A"; 

       Log.v(TAG, "Starting CallStateChange"); 
       switch (state) { 

       case TelephonyManager.CALL_STATE_OFFHOOK: 

       case TelephonyManager.CALL_STATE_RINGING: 
        if (mp != null) { 
         mp.pause();;   
         isPausedInCall = true; 

        } 

        break; 

       case TelephonyManager.CALL_STATE_IDLE: 
        // Phone idle. Start playing. 

        if (mp != null) { 
         if (isPausedInCall) { 
          isPausedInCall = false; 
          initNotification(); 
          mp.start(); 
         } 

        } 

        break; 
       } 

      } 
     }; 

     // Register the listener with the telephony manager 
     telephonyManager.listen(phoneStateListener, 
       PhoneStateListener.LISTEN_CALL_STATE); 
+0

사실, 다른 사람의 전화를 걸 때 나는 다른 사람의 소리가 들리지 않게하고 싶습니다. 이 때 나는 다른 사람의 전화에서 나오는 소리 대신에 내 휴대폰에서 음악을 듣고 싶습니다. 전화가 연결되면 음악을 중단합니다. –

관련 문제