问题描述
我正在尝试以 .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 (将#修改为@)