我的目标是暂停录制文件.我在Android开发者网站上看到它但是Media Recorder没有暂停选项.
Java支持以编程方式合并两个音频文件,但在android中它不起作用.
此外,我还使用了所有设备都可以使用的默认设备录音机应用程序,但在三星中,很少有设备没有恢复录制路径.
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent,REQUESTCODE_RECORDING);
Run Code Online (Sandbox Code Playgroud)
任何一个有暂停功能的录音帮助.
我正在使用MediaRecorder类在Android 2.3中开发录音应用程序.我有以下要求:
我找不到任何MediaRecorder api来暂停和恢复录制.只有start()和stop()可用.
除了在中断之前和之后记录两个单独的文件然后再加入一个文件之外,还有其他方法可以实现吗?
任何帮助/建议将不胜感激.
Sneha John.
在使用时MediaRecorder,我们没有API级别低于24的暂停/恢复.所以有一种方法可以做到这一点:
许多人在SO上问这个问题,但无论如何都找不到解决这个问题.人们谈论通过停止在暂停操作上录制并在恢复时重新开始来创建多个媒体文件.所以我的问题是我们如何以编程方式合并/加入所有媒体文件?
注意:在我的情况下MPEG4容器 - 音频为m4a,视频为mp4.
我尝试使用SequenceInputStream合并多个InputStream各自生成的录制文件.但它总是只产生第一个文件.
代码片段:
Enumeration<InputStream> enu = Collections.enumeration(inputStreams);
SequenceInputStream sqStream = new SequenceInputStream(enu);
while ((oneByte = sqStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, oneByte);
}
sqStream.close();
while (enu.hasMoreElements()) {
InputStream element = enu.nextElement();
element.close();
}
fileOutputStream.flush();
fileOutputStream.close();
Run Code Online (Sandbox Code Playgroud)