Android、MediaRecorder到3gp容器视频失败
我在用MediaRecorder录制视频时遇到问题。我需要在H264中注册一个视频,并将其保存在扩展名为mp4的3gp容器中。我绝对需要这种视频格式,因为这样我就可以用我自己无法直接修改的本机库打开它。我使用的是下面的代码,它通常运行良好。但另一台平板电脑可以拍摄视频,但格式不同(本机库停止工作) 检查视频的性能,我看到第二个视频有一个容器“Quicktime”,而不是“3gp”: 分析视频的字节,我发现头不是3gp的头 代码中有什么错误Android、MediaRecorder到3gp容器视频失败,android,video,multimedia,Android,Video,Multimedia,我在用MediaRecorder录制视频时遇到问题。我需要在H264中注册一个视频,并将其保存在扩展名为mp4的3gp容器中。我绝对需要这种视频格式,因为这样我就可以用我自己无法直接修改的本机库打开它。我使用的是下面的代码,它通常运行良好。但另一台平板电脑可以拍摄视频,但格式不同(本机库停止工作) 检查视频的性能,我看到第二个视频有一个容器“Quicktime”,而不是“3gp”: 分析视频的字节,我发现头不是3gp的头 代码中有什么错误 recorder = new MediaRecorde
recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setVideoSize(320, 240);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recordingPath = getApplicationContext().getFilesDir().getAbsolutePath()
+ "/" + System.currentMillis();
recorder.setOutputFile(recordingPath + ".mp4");
recorder.setMaxDuration(50000); // 50 seconds
recorder.setMaxFileSize(5000000); // Approximately 5 megabytes
recorder.setPreviewDisplay(recPreview.getHolder().getSurface());
try {
recorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
recorder.start();
它看起来像recorder.setOutputFormat(MediaRecorder.OutputFormat.ThreeGPP);不起作用
谢谢,尼科