나는 TTS를 사용하여 발신자 이름을 말하는 발신자 말하기 응용 프로그램을 만들고 있습니다. TTS가 벨소리를 다시 시작하면서 말하는 동안 벨소리를 일시 중지하고 싶습니다. 조사한 바에 따르면 AudioFocus
(희망 사항)을 사용할 수 있습니다. 어쨌든 난 다음 코드텍스트 음성 말하기와 재시작 중 전화 벨소리 일시 중지
지금이 코드를 사용하고
업데이트를 사용하고 있습니다. Ringtone
비록
public void speak(final String talk) throws InterruptedException {
final AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int musicVolume= audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, musicVolume, 0);
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
int result = tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onStart(String utteranceId) {
// TODO Auto-generated method stub
}
@Override
public void onError(String utteranceId) {
// TODO Auto-generated method stub
}
@Override
public void onDone(String utteranceId) {
// TODO Auto-generated method stub
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
System.out.println("done");
}
});
HashMap<String, String> params = new HashMap<String, String>();
params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,"stringId");
tts.speak(talk, TextToSpeech.QUEUE_FLUSH, params);
System.out.println("speaking after tts is over" + talk+" "+result);
}
이 중지되고 tts
이 재생됩니다 만 tts
후 Ringtone
이 재개되지 않고 재생됩니다. 어떻게해야합니까?
tts가 작동하기 시작하면 음악 플레이어를 중지하거나 일시 중지하고 음악 플레이어를 다시 시작하면 tts stops.can이 (가)이 문제를 해결할 수 있습니다. –
코딩 논리는 필자가 작성한 것과 동일하며 벨소리를 일시 중지하고 음악 플레이어를 일시 중지해야합니다. 그래도 답을 얻을 수 없다면 가장 좋은 방법은 새로운 질문을하는 것입니다. –
답장을 보내 주셔서 감사합니다 !! 나는이 문제를 해결한다 !! –