私はサウンドを再生する必要があるアプリケーションを作成しています。電話が鳴っている場合や通話中の場合は、イヤホンで音を鳴らしたい。コードは、画面がオンになっているときにのみ機能しますが、通話中に耳に電話をかけると、画面が消えて「アラーム」が再生されません。何かヒント?コール中にアラームを再生する
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
int state = tm.getCallState();
mMediaPlayer.setLooping(true);
if(state == TelephonyManager.CALL_STATE_OFFHOOK || state == TelephonyManager.CALL_STATE_RINGING){
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
mMediaPlayer.setScreenOnWhilePlaying(true);
audioManager.setSpeakerphoneOn(false);
audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);
audioManager.setMode(AudioManager.MODE_IN_CALL);
Log.d("GOFC","Tocando ou fora do gancho");
} else {
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
vibrator.vibrate(pattern, 1);
Log.d("GOFC","Normal");
}
mMediaPlayer.prepare();
mMediaPlayer.start();
電話をかけているときにアラームが働いているのに、通話中で画面がオフの場合は機能しません。 – Carth
はい。私の耳に電話を入れると、画面が消えます(それを行うセンサーがあります)。私はアラームが私の電話をテーブルに置くのを聞くことができます。 – gugarush