首页 > 解决方案 > 通话记录器应用程序未记录拨出电话

问题描述

我正在开发一个我已授予所有权限的应用程序“通话记录器”,但它没有记录来电者的声音。我正在使用 MediaRecorder。

void startRecording() {
    final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(this);

    int[] ss = new int[]{
            MediaRecorder.AudioSource.VOICE_CALL,
            MediaRecorder.AudioSource.VOICE_COMMUNICATION, // mic source VOIP
            MediaRecorder.AudioSource.VOICE_RECOGNITION,
            MediaRecorder.AudioSource.CAMCORDER,
            MediaRecorder.AudioSource.MIC, // mic
            MediaRecorder.AudioSource.DEFAULT, // mic
            MediaRecorder.AudioSource.UNPROCESSED,
            MediaRecorder.AudioSource.VOICE_UPLINK,
            MediaRecorder.AudioSource.VOICE_DOWNLINK,

    };
    int i = Integer.valueOf(shared.getString(CallApplication.PREFERENCE_SOURCE, "-1"));
    if (i == -1)
        i = 0;
    else
        i = Sound.indexOf(ss, i);

    String ext = shared.getString(CallApplication.PREFERENCE_ENCODING, "");
    if (Storage.isMediaRecorder(ext)) {
        startMediaRecorder(ext, ss, i);
    } else {
        startAudioRecorder(ss, i);
    }

    showNotificationAlarm(true);
}

标签: androidmediarecordermediarecorder-api

解决方案


startAudioRecorder(ss, i);

将此行放入 if 条件以供记录


推荐阅读