ユーザーが発信通話を録音できる通話録音アプリケーションを作成したいと考えています。私はそれをやった。しかし、小さな問題が 1 つあります。番号をダイヤルし始めると、通話が録音されます。受信者が受信したときに通話が録音されることを望みます。そうしないと、音声が録音されません。ということは、嫌な発信音のない音が欲しい。私のアプリケーションのサンプルコードを以下に示します。
//Service
@Override
public void onCallStateChanged(int state, String phonenumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG, "CALL_STATE_RINGING");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d(TAG, "CALL_STATE_OFFHOOK");
isOffHook = true;
try {
Toast.makeText(context, "Recording started", 10000).show();
Toast.makeText(context,
"Recording will stop when call is Diconnected",
10000).show();
startRecord();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case TelephonyManager.CALL_STATE_IDLE:
Log.d(TAG, "CALL_STATE_IDLE");
if (isOffHook) {
try {
stopRecord();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
break;
}