MediaRecorder start failed java.lang.RuntimeException: start failed
2016-04-20 14:22
543 查看
使用MediaRecorder录制视频的时候,
[java]
view plain
copy
print?
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoFrameRate(20);
mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setVideoEncoder(mVideoEncoder);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setMaxDuration(0);
mMediaRecorder.setMaxFileSize(0);
mMediaRecorder.setOutputFile(sender.getFileDescriptor());
try {
mMediaRecorder.setOnInfoListener(this);
mMediaRecorder.setOnErrorListener(this);
mMediaRecorder.prepare();
mMediaRecorder.start();
出现如题错误:注意,这段代码在小米上面可以跑通,在Htc和联想的某些机型上面会出现如题错误。
修改为以下,注释掉三行代码:
[java]
view plain
copy
print?
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
// mMediaRecorder.setVideoFrameRate(20);
// mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setVideoEncoder(mVideoEncoder);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setMaxDuration(0);
// mMediaRecorder.setMaxFileSize(0);
mMediaRecorder.setOutputFile(sender.getFileDescriptor());
try {
mMediaRecorder.setOnInfoListener(this);
mMediaRecorder.setOnErrorListener(this);
mMediaRecorder.prepare();
mMediaRecorder.start();
即可。
在StackOverFlow上面,也有很多这样的问题,如果这种方案不能解决,建议在上面找找其他。
如果使用setCamera()方法,前面要调用camera.unLock()方法。否则,可能出错。
转载:http://blog.csdn.net/lilu_leo/article/details/9097471
[java]
view plain
copy
print?
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoFrameRate(20);
mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setVideoEncoder(mVideoEncoder);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setMaxDuration(0);
mMediaRecorder.setMaxFileSize(0);
mMediaRecorder.setOutputFile(sender.getFileDescriptor());
try {
mMediaRecorder.setOnInfoListener(this);
mMediaRecorder.setOnErrorListener(this);
mMediaRecorder.prepare();
mMediaRecorder.start();
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mMediaRecorder.setVideoFrameRate(20); mMediaRecorder.setVideoSize(352, 288); mMediaRecorder.setVideoEncoder(mVideoEncoder); mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface()); mMediaRecorder.setMaxDuration(0); mMediaRecorder.setMaxFileSize(0); mMediaRecorder.setOutputFile(sender.getFileDescriptor()); try { mMediaRecorder.setOnInfoListener(this); mMediaRecorder.setOnErrorListener(this); mMediaRecorder.prepare(); mMediaRecorder.start();
出现如题错误:注意,这段代码在小米上面可以跑通,在Htc和联想的某些机型上面会出现如题错误。
修改为以下,注释掉三行代码:
[java]
view plain
copy
print?
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
// mMediaRecorder.setVideoFrameRate(20);
// mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setVideoEncoder(mVideoEncoder);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setMaxDuration(0);
// mMediaRecorder.setMaxFileSize(0);
mMediaRecorder.setOutputFile(sender.getFileDescriptor());
try {
mMediaRecorder.setOnInfoListener(this);
mMediaRecorder.setOnErrorListener(this);
mMediaRecorder.prepare();
mMediaRecorder.start();
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); // mMediaRecorder.setVideoFrameRate(20); // mMediaRecorder.setVideoSize(352, 288); mMediaRecorder.setVideoEncoder(mVideoEncoder); mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface()); mMediaRecorder.setMaxDuration(0); // mMediaRecorder.setMaxFileSize(0); mMediaRecorder.setOutputFile(sender.getFileDescriptor()); try { mMediaRecorder.setOnInfoListener(this); mMediaRecorder.setOnErrorListener(this); mMediaRecorder.prepare(); mMediaRecorder.start();
即可。
在StackOverFlow上面,也有很多这样的问题,如果这种方案不能解决,建议在上面找找其他。
如果使用setCamera()方法,前面要调用camera.unLock()方法。否则,可能出错。
转载:http://blog.csdn.net/lilu_leo/article/details/9097471
相关文章推荐
- Spring Boot 之 RESRful API 权限控制
- JavaWeb开发中的会话技术[Cookie/Session]
- Java中的数组基础(一)
- J2SE(十一)Java之内部类
- Spring 整合Mybatis实例
- [改善Java代码]别让null值和空值威胁到变长方法
- 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)
- java学习笔记3
- ios 和 java byte[]的兼容处理
- 【LeetCode-137】Single Number II
- eclipse启动时devices.xml报错 不具有面有效性。它必须是来自枚举的值。
- Java BIO、NIO、AIO、同步、异步
- 关于maven的依赖分析
- java中InputStream转化为byte[]数组
- java学习笔记2
- java从本地向另外一个地址发送请求
- Java抽象类和接口的区别
- 《疯狂Java讲义(第3版)》.(李刚)——前言
- java中的进制
- java web classpath