Android 语音通话录音无法在系统上播放

Android voice call recordings doesn't play on system

我有一个小程序可以记录来自 Android phone 的所有语音通话。录音很好,我什至可以在任何 android 设备上播放。但是同一个文件不能在系统上播放。我试过几个播放器但没有运气。只有 Audacity 抱怨该文件是 RAW。我曾尝试使用 Audacity 对文件进行编码,但没有成功。这是我的录音片段,非常感谢任何帮助。

        recorder = new MediaRecorder();
        recorder.reset();
        recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
        recorder.setAudioChannels(2);
        recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB);
        recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
        recorder.setOutputFile(DEFAULT_STORAGE_LOCATION+"/"+System.currentTimeMillis());
        recorder.prepare();
        recorder.start(); 

MediaRecorder.OutputFormat.AMR_WB表示编解码器名为Adapative Multi-Rate Wideband。除了在手机上,这种格式不是很常见。如果您跳过所有正确的圈圈,您可以让他们在 Audacity 中打开。首先,您必须为其正确安装和配置 ffmpeg,然后当您在 audacity 中打开文件时,您需要 select FFmpeg-compatible files 格式。但是,如果您希望您的文件是可移植的,我认为您最好在录制时使用不同的编解码器 - 例如 MPEG-4。