如何解决Android MediaRecorder:一段时间后录制的音频静音
我正在尝试以 .amr 格式开始录制来自麦克风输入的音频。完成录制操作后,当我播放文件时,它在大约 3 分钟后静音,全长约为 6 分钟。我有一个处理录音部分的服务。我从一个片段开始录制并从另一个片段结束。在记录执行期间,应用程序生命周期保持活跃。附上以下代码:
public class RecorderService extends Service {
private String fileName;
private MediaRecorder recorder;
private String mobile;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent,int flags,int startId) {
String recordCommand = intent.getStringExtra("RECORD_STATUS");
mobile = intent.getStringExtra("mobile");
assert recordCommand != null;
switch (recordCommand) {
case "Start":
startRecording();
break;
case "Stop":
stopRecording();
break;
}
return START_STICKY;
}
private void startRecording() {
fileName = getExternalCacheDir().getAbsolutePath() + "/" + mobile + ".amr";
if (recorder != null) {
recorder.release();
recorder = null;
}
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
recorder.setOutputFile(fileName);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
recorder.prepare();
} catch (IOException e) {
Log.e("filerecorder","prepare() failed");
}
recorder.start();
}
private void stopRecording() {
if (recorder != null) {
recorder.release();
recorder = null;
}
stopSelf();
}
}
我不知道为什么录音被静音了。这是否与使用麦克风而不通知用户有关?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。