录像时调用MediaRecorder的start()时发生start failed: -19错误
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
private void start() { if (isRecording) { // 停止录像并释放myFrontFacingCamera myVideoRecorder.stop(); releaseVideoRecorder(); /*myFrontFacingCamera.lock();*/ // 从Android4.0开始,这个方法由系统自动调用 // TODO:通知用户录像已停止,设置停止按钮为不可用 isRecording = false; } else { // 初始化myFrontFacingCamera if (prepareVideoRecorder()) { // myFrontFacingCamera已可用并解锁,VideoRecorder已就绪 // 现在可以开始录像 /*myFrontFacingCamera.startPreview();*/ myVideoRecorder.start(); // TODO:通知用户录像已开始,设置开始按钮为不可用 isRecording = true; } else { // 准备未能完成,释放myFrontFacingCamera releaseVideoRecorder(); // TODO:通知用户 } } }private boolean prepareVideoRecorder() { /*myFrontFacingCamera = getFrontFacingCamera();*/ // 在onCreate()中已经创建了myFrontFacingCamera对象 myVideoRecorder = new MediaRecorder(); // 解锁并将摄像头指向myVideoRecorder /*myFrontFacingCamera.unlock();*/ //在Android4.0之后这个方法由系统自动调用 myVideoRecorder.setCamera(myFrontFacingCamera); // TODO:指定源,如果声音源不行,就用麦克作为声音源 myVideoRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); myVideoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); // 指定CamcorderProfile(需要API Level 8以上版本),这里的Profile包括了输出格式,声音编码类型和视频编码类型 myVideoRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW)); myVideoRecorder.setVideoSize(100, 100); // 指定输出文件 myVideoRecorder.setOutputFile(getOutputMediaFile(MEDIA_TYPE_VIDEO).toString()); // 指定预览输出 myVideoRecorder.setPreviewDisplay(myVideoPreview.getHolder().getSurface()); // 根据以上配置准备myVideoRecorder try { myVideoRecorder.prepare(); } catch (IllegalStateException e) { Log.d("VideoActivity:prepareVideoRecorder", "准备myVideoRecorder时发生IllegalStateException错误" + "\n" + e.getMessage()); releaseVideoRecorder(); return false; } catch (IOException e) { Log.d("VideoActivity:prepareVideoRecorder", "准备myVideoRecorder时发生IOException错误" + "\n" + e.getMessage()); releaseVideoRecorder(); return false; } return true; } |
解决方案:
将 myVideoRecorder.setVideoSize(100, 100); 这句话注释掉就行了
录像时调用MediaRecorder的start()时发生start failed: -19错误的更多相关文章
- 在使用EF时调用DBFUNCTION扩展方法时,发生ENTITYCOMMANDEXECUTIONEXCEPTION 异常的解决办法
System.Data.Entity.Core.EntityCommandExecutionException : An error occurred while executing the comm ...
- ORA-39127: 调用 "WMSYS"."LT_EXPORT_PKG"."SCHEMA_INFO_EXP" 时发生意外错误
expdp 告警提示: Export: Release 11.2.0.4.0 - Production on 星期日 4月 28 12:14:51 2019....ORA-39127: 调用 &quo ...
- 屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
接到一个博友的反馈,在屏幕旋转时调用PopupWindow的update方法失效.使用场景如下:在一个Activity中监听屏幕旋转事件,在Activity主布局文件中有个按钮点击弹出一个Pop ...
- 刷新或关闭时调用onbeforeunload
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于on ...
- Rails : css或js文件无法成功预编译或调用jquery类插件时预编译问题
调用bootstrap css框架时,将bootstrap文件夹放入 vendor/assets/下 bootstrap文件结构如下: [shenma@localhost demo]$ ls v ...
- WebService调用一对多关联关系时出现 死循环:A cycle is detected in...
通过WebService调用一对多关联关系时引起的问题:A cycle is detected in the object graph 具体异常信息: org.apache.cxf.intercept ...
- SQL2008、SQL2013 执行Transact-SQL 语句或者批处理时发生了异常。错误5120
附加数据库的时候遇到问题,问题描述如下: 附加数据库 对于 服务器"服务器名"失败.(Microsoft.SqlServer.Smo) 执行Transact-SQL 语句或者批处理 ...
- 调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable
添加web引用会在相应项目的app.cofig文件中产生如下代码: <sectionGroup name="applicationSettings" type="S ...
- Asp.Net调用Office组件操作时的DCOM配置 (转)
Asp.Net调用Office组件操作时的DCOM配置 http://blog.csdn.net/gz775/article/details/6447758 在项目中将数据导出为Excel格式时出现“ ...
随机推荐
- SQL Server镜像自动生成脚本
SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...
- 在WPF中使用依赖注入的方式创建视图
在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...
- ExtJS 4.2 业务开发(二)数据展示和查询
本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- Java 堆内存与栈内存异同(Java Heap Memory vs Stack Memory Difference)
--reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有 ...
- 创建APPID&&部署服务端教程
创建APPID&&部署服务端 一.创建APPID 1.打开https://console.developers.google.com ,左击顶部Project,然后左击创建项目 2.输 ...
- MediatorPattern(中介者模式)
/** * 中介者模式 * @author TMAC-J * 研究了这么多设计模式,觉得无非就是几点: * 1.若两个类有耦合关系,设立一个中间类,处理两个类的关系,把两个类的耦合降低 * 2.面向接 ...
- CSS笔记
初级篇===========================选择器============================元素选择器css:h1{color: red}html:<h1> ...
- System进程(pid=4)占用80端口的解决方案
问题 Mail服务器在安装TFS服务(含SQLServer2016)后启动不了网页服务. 排查问题 使用命令查看端口占用情况 netstat -nao | find ":80" n ...
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...