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错误的更多相关文章

  1. 在使用EF时调用DBFUNCTION扩展方法时,发生ENTITYCOMMANDEXECUTIONEXCEPTION 异常的解决办法

    System.Data.Entity.Core.EntityCommandExecutionException : An error occurred while executing the comm ...

  2. 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 ...

  3. 屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案

       接到一个博友的反馈,在屏幕旋转时调用PopupWindow的update方法失效.使用场景如下:在一个Activity中监听屏幕旋转事件,在Activity主布局文件中有个按钮点击弹出一个Pop ...

  4. 刷新或关闭时调用onbeforeunload

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于on ...

  5. Rails : css或js文件无法成功预编译或调用jquery类插件时预编译问题

    调用bootstrap css框架时,将bootstrap文件夹放入 vendor/assets/下 bootstrap文件结构如下:    [shenma@localhost demo]$ ls v ...

  6. WebService调用一对多关联关系时出现 死循环:A cycle is detected in...

    通过WebService调用一对多关联关系时引起的问题:A cycle is detected in the object graph 具体异常信息: org.apache.cxf.intercept ...

  7. SQL2008、SQL2013 执行Transact-SQL 语句或者批处理时发生了异常。错误5120

    附加数据库的时候遇到问题,问题描述如下: 附加数据库 对于 服务器"服务器名"失败.(Microsoft.SqlServer.Smo) 执行Transact-SQL 语句或者批处理 ...

  8. 调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable

    添加web引用会在相应项目的app.cofig文件中产生如下代码: <sectionGroup name="applicationSettings" type="S ...

  9. Asp.Net调用Office组件操作时的DCOM配置 (转)

    Asp.Net调用Office组件操作时的DCOM配置 http://blog.csdn.net/gz775/article/details/6447758 在项目中将数据导出为Excel格式时出现“ ...

随机推荐

  1. 【AR实验室】ARToolKit之概述篇

    0x00 - 前言 我从去年就开始对AR(Augmented Reality)技术比较关注,但是去年AR行业一直处于偶尔发声的状态,丝毫没有其"异姓同名"的兄弟VR(Virtual ...

  2. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...

  3. Canvas坐标系转换

    默认坐标系与当前坐标系 canvas中的坐标是从左上角开始的,x轴沿着水平方向(按像素)向右延伸,y轴沿垂直方向向下延伸.左上角坐标为x=0,y=0的点称作原点.在默认坐标系中,每一个点的坐标都是直接 ...

  4. .net 分布式架构之任务调度平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.TaskManager .net 任务调度平台 用于.net dll,exe的任务的挂载, ...

  5. 算法与数据结构(十一) 平衡二叉树(AVL树)

    今天的博客是在上一篇博客的基础上进行的延伸.上一篇博客我们主要聊了二叉排序树,详情请戳<二叉排序树的查找.插入与删除>.本篇博客我们就在二叉排序树的基础上来聊聊平衡二叉树,也叫AVL树,A ...

  6. SQL Server2016升级前几点自检

    SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...

  7. Anders Hejlsberg 技术理想架构开发传奇

    Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方.他要做一个决定,决定自己未来的命运和理想.这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了 ...

  8. FILE文件流的中fopen、fread、fseek、fclose的使用

    FILE文件流用于对文件的快速操作,主要的操作函数有fopen.fseek.fread.fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满 ...

  9. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  10. 为什么你SQL Server的数据库文件的Date modified没有变化呢?

    在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半 ...