마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

전화수신시 발신번호 TTS안내

0 추천

전화수신시 발신번호를 TTS로 읽어주려고 합니다.

전화가 오면 벨소리 - TTS로 발신번호 안내 - 계속 벨소리로 안내하려 합니다.

VEGA폰에서는 아무런 문제가 없는데...삼성 노트4로 테스트하니까 문제가 발생하네요.

방법 1, 2 모두 postDelay를 이용해서 1초벨소리 - TTS - 벨소리 이렇게 했습니다.

 

방법 1)

1.Ring감지

2.setStreamMute(AudioManager.STREAM_RING, true); Ring 음소거

3. 발신번호 TTS

4. setStreamMute(AudioManager.STREAM_RING, false); Ring 음소거 해제

5. Ring볼륨 원래대로

결과

  1)이어폰 미 연결시 : 정상

  2)이어폰 연결시 : 벨소리(정상) - TTS 소리가 안들림 - 벨소리(정상)

 

방법 2)

1.Ring감지

2.setRingerMode(AudioManager.RINGER_MODE_SILENT);  Ring 음소거

3. 발신번호 TTS

4. setRingerMode(AudioManager.RINGER_MODE_NORMAL); Ring 음소거 해제

5. Ring볼륨 원래대로

결과 : 이어폰 여부와 상관없이  벨소리(정상) - TTS정상 - 벨소리 안들림 상태입니다.

 

추가질문)

그리고, 블루투스 연결시에도 TTS로 발신번호를 안내하고 싶은데

전화가 오면 블루투스 자체 진동 및 소리를 사용하기 때문인지 동작을 안합니다.

혹시 가능한 방법이 있다면 조언 부탁합니다.

xdemon (190 포인트) 님이 2015년 10월 18일 질문

2개의 답변

0 추천
전화가 왔을 때의 이벤트를 캐치하세요.
개발자초심 (21,220 포인트) 님이 2015년 10월 19일 답변
0 추천
작년인가 이거 관련해서 작업을 했었는데, 일단 블루투스로는 할 수 없습니다.

그리고 되는 폰이 있고, 안되는 폰이 있다면 그냥 그런 겁니다. 방법이 없어요.

요즘엔 전화오면 읽어주는 설정이 붙어서 나오니 그걸 쓰라고 그러고, 아니면 그냥 포기 하심이..
쎄미 (162,410 포인트) 님이 2015년 10월 19일 답변
...