2013-07-27 5 views
3

TextToSpeech을 사용하여 발신자 이름을 말하기 전에 벨소리를 일시 중지하는 말하기 발신자 이름 응용 프로그램을 만들고 있습니다. 내가audioManager.getStreamVolume (AudioManager.STREAM_MUSIC)은 0을 반환합니다.

int musicVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 

를 사용하여 현재 Volume을 검출하고하는 것은 대부분이 0하지만 때로는 15 올바른 값 반환합니다. 전화가 정상 모드이고 전화 볼륨이 꽉 찼습니다. 발신자 이름을 정확하게 말하려면이 값이 필요하지만 예측할 수없는 동작으로 인해 나를 괴롭 히고 있습니다.

뭐가 잘못 되었나요? 이것은 벨소리 볼륨을 감지하는 올바른 방법이 아닙니까?

그것은 그것이 기능 아래의 예를 배치
+0

0이다 http://stackoverflow.com/a/17900273/1979347 –

답변

1

, 볼륨이 여기에이 문제를 해결 15

public void pegarVolume(){ 

    AudioManager AudioManager = (AudioManager) getSystemService (Context.AUDIO_SERVICE); 
    int musicVolume = AudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
} 
+0

당신은 무엇을 하시겠습니까? 말하다? 나는 네가 여기서 전하고자하는 것을 이해할 수 없다. 나는 이미 문제를 해결하고 링크를 주었다는 의견을 언급했다. –