官方Android 使用Camera2示例项目地址:https://github.com/android/camera-samples

视频录像示例:https://github.com/android/camera-samples/tree/master/Camera2VideoJava

 官方Camera2VideoFragment.java停止录像代码,原来代码:会导致APP崩溃

    private void stopRecordingVideo() {
// UI
mIsRecordingVideo = false;
mButtonVideo.setText(R.string.record);
// Stop recording
mMediaRecorder.stop();
mMediaRecorder.reset(); Activity activity = getActivity();
if (null != activity) {
Toast.makeText(activity, "Video saved: " + mNextVideoAbsolutePath,
Toast.LENGTH_SHORT).show();
Log.d(TAG, "Video saved: " + mNextVideoAbsolutePath);
}
mNextVideoAbsolutePath = null;
startPreview();
}

解决方法如下:

    private void stopRecordingVideo() {
// UI
mIsRecordingVideo = false;
mButtonVideo.setText(R.string.record);
//必须将这一句放置到MediaRecorder停止释放的前面,
//否则就会造成,接收数据方(Encoder)已经停止了,而发送数据的session还在运行。才会造成以上错误。
startPreview();
// Stop recording
mMediaRecorder.stop();
mMediaRecorder.reset(); Activity activity = getActivity();
if (null != activity) {
Toast.makeText(activity, "Video saved: " + mNextVideoAbsolutePath,
Toast.LENGTH_SHORT).show();
Log.d(TAG, "Video saved: " + mNextVideoAbsolutePath);
}
mNextVideoAbsolutePath = null; }

另外修改closePreviewSession()方法,增加红色字体代码:

private void closePreviewSession() {
if (mPreviewSession != null) {
try {
mPreviewSession.stopRepeating();
mPreviewSession.abortCaptures();
} catch
(CameraAccessException e) {
e.printStackTrace();
}

mPreviewSession.close();
mPreviewSession = null;
}
}

参考:https://blog.csdn.net/mengjiangyue/article/details/62435349

官方Android Camera2 录像示例--停止录像时崩溃修正的更多相关文章

  1. Android遇到的错误,运行时崩溃

    修改主题背景时在<Activity>中增加android:theme="@android:style/Theme.Black.NoTitleBar"时运行 出现崩溃的现 ...

  2. Android Camera2采集摄像头原始数据并手动预览

    Android Camera2采集摄像头原始数据并手动预览 最近研究了一下android摄像头开发相关的技术,也看了Google提供的Camera2Basic调用示例,以及网上一部分代码,但都是在Te ...

  3. Android vcard使用示例,生成vcf文件

     Android vcard使用示例,生成vcf文件 我们备份手机联系人时,导出到SD卡时,会在SD卡中生成一个vcf文件,用于保存联系人姓名,手机号码. vCard 规范容许公开交换个人数据交换 ( ...

  4. Android Camera2 拍照(三)——切换摄像头,延时拍摄和闪光模式

    原文:Android Camera2 拍照(三)--切换摄像头,延时拍摄和闪光模式 一.切换摄像头 在前后摄像头之间切换,首先需要关闭之前打开的摄像头,关闭preview,之后重新打开新的摄像头,重新 ...

  5. Android Camera2拍照(一)——使用SurfaceView

    原文:Android Camera2拍照(一)--使用SurfaceView Camera2 API简介 Android 从5.0(21)开始,引入了新的Camera API Camera2,原来的a ...

  6. android Camera2 API使用详解

    原文:android Camera2 API使用详解 由于最近需要使用相机拍照等功能,鉴于老旧的相机API问题多多,而且新的设备都是基于安卓5.0以上的,于是本人决定研究一下安卓5.0新引入的Came ...

  7. Android Camera2 拍照入门学习

    原文:Android Camera2 拍照入门学习 学习资料: 肾虚将军android camera2 详解说明 极客学院android.hardware.camera2 使用指南 Android 5 ...

  8. 如何成功实施SDL提供的官方Android平台Demo

    如何成功实施SDL提供的官方Android平台Demo 作者:雨水  日期:2014-4-30 编写说明:SDL的官方提供了一个Anroid的demo模板SDLActivity,无法直接执行,依照官方 ...

  9. crontab 定时任务守护程序,停止服务器时出现 job for * canceled

    (1)首先要在程序启动的时候加入定时任务到crontab #! /bin/shmkdir -p /home/apps/components/ams/ 2>/dev/nullcp ./amswat ...

随机推荐

  1. mysql:[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

    删除主键时,出错:[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be d ...

  2. Random Forest(sklearn参数详解)

    2016年08月17日 10:32:42 铭霏 阅读数:36874   版权声明:本文为博主原创文章,博主转载请附加原文链接并声明. https://blog.csdn.net/u012102306/ ...

  3. 51nod 2497 数三角形

    小b有一个仅包含非负整数的数组a,她想知道有多少个三元组(i,j,k),满足i<j<k且a[i],a[j],a[k]可能作为某个三角形的三条边的边长. 收起   输入 第一行输入一个正整数 ...

  4. MySQL5.7数据库的基本操作命令

    MySQL5.7中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 登录MySQL mysql -u root -p Enter password:密码 ...

  5. [转]Serverless实践

    转载的,原文: https://www.cnblogs.com/middleware/p/9470533.html ------------------------------------------ ...

  6. 题解 洛谷P4779 【【模板】单源最短路径(标准版)】

    正权图,貌似看来是一道裸的 \(dijkstra\) \(dijkstra\)的主要步骤: 首先,在\(dijkstra\)中,源点表示一开始的出发点,蓝点表示还未确定的点,白点则表示已经确定的点. ...

  7. notepad++ 调整行间距

    在“设置”-“语言格式设置”里面,找到style里面的Line number margin一项,调整字体大小就可以调整左边标号的大小,然后文本内容的行间距即可任意调整.

  8. Backpack II

    Description There are n items and a backpack with size m. Given array A representing the size of eac ...

  9. Kafka+kylin——kylin2.5.0流式构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a_drjiaoda/article/d ...

  10. 怎么通过django模板输出双花括号{{}}

    https://segmentfault.com/q/1010000000685399