
右上角图标 (“尺唤未分陵丛凯类”的右侧) 点它就打开了“管理分类郑带”界面
点“录制脚本” 点你想要修改的脚本 点“编辑脚本”就你能看到源代码
tinycap和tinymix 是tinyalsa下的可执行程序,源码在external\tinyalsa下我们只需要在device.mk 内添加
编译即可
1.在开机后,有root权限的情况,执行扮弯tinymix,得到控件状薯侍态。
2.开启录音机。执行tinymix,得到录音状态下控件情况
比较不同处
经过分析,主要是ctl id 14 15 16 17 20 21需要在录音时候打开。
1.执行如厅手闷下命令
tinymix 14 1
tinymix 15 3
tinymix 16 1
tinymix 17 1
tinymix 20 4
tinymix 21 4
2.tinycap录音
tinycap /sdcard/aud-test.wav -D 0 -d 1 -c 2 -b 16 -r 16000
OK~
Android 从 4.0 开始就提供了手机录屏方法,但是需要 root 权限,比较麻烦不容易实现。但是从 5.0 开始,系统提供给了 app 录制屏幕的一系列方法,不需要 root 权限,只需要用户授权即可录屏,相对来说较为简单。本文是在参考了网络上其他录屏资料后完成的, 感谢 。以下将介绍开发录屏功能的一系列步骤以及实现过程中所遇到的一些需要注意的事项。
因为录制用到麦克风,所以需要加上 AUDIO 权限,
如果开发的 app targetApi 在 6.0 以上时,还需要动态获取权限。
这里先介绍 MediaProjectionManager , MediaProjectionManager 是系统提供的一种服务,当我们拿到这个服务对象,可以创建一个 Intent ,通过这个 Intent 可以启动一个d框样式的 Activity,如果用户授权了,那我们便可以继续下一步屏幕录制。需要说明的是,Intent 是去启动另一个 Activity 的,有极少极少的机型是没有对应的授权Activity 的,所以这里需要多加判断,防止应用奔溃。
即使用户授权了,同意录制 *** 作,仍然需要捕获异常,因为有可能会出现这样一种情况,就是用户在同意录屏的时候系统也正在录屏,录屏 *** 作冲突了。
这一步是整个录屏 *** 作最为关键的一步!我们初始化了 MediaRecorder,设置了是山升否录上声音、录屏文件格式、录屏文件路径、音视凯辩频的编码器、比特率、视频帧率等
然后将在步骤 3 中的 resultCode 以及 data 作为必要的参数通过 MediaProjectionManager 创建 VirtualDisplay。VirtualDisplay 可以理解为虚拟的呈现器逗孙老,它可以捕获屏幕上的内容,并将其捕获的内容渲染到 Surface 上(Surace 由 MediaRecorder 提供,通过 getSurface() 方法得到),MediaRecorder 再进一步将其封装处理为 Mp4 文件。
经过以上步骤 prepare 之后,当再次调用 MediaRecorder.start() 就可以开始录屏了,这里同意也需要注意的时,调用 start() 方法开始录屏之后,不能立即调用 stop()方法停止录屏,否则会奔溃。测试在测试录屏功能时立马停止录屏,应用奔溃,一直找不到原因。直到看到了源码( API 26 )里的注释
所以为了反正奔溃,在 stop 的时候捕获异常,并且置空 MediaRecorder,下次录屏的时候再重新生成 MediaRecorder。
由于知识水平有限,难免有错误遗漏,欢迎指正!项目地址为 屏幕录制
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)