Android设备硬件与媒体交互开发指南
在Android开发中,与设备硬件和媒体进行交互是常见的需求,本文将详细介绍视频录制、语音识别、音视频播放以及音效播放等功能的实现方法。
1. 视频录制
当活动首次创建时,会获取设备相机的实例,并设置其显示方向以匹配在清单文件中定义的竖屏方向。此设置仅影响预览内容的显示,不影响录制输出。当活动可见时,会收到 surfaceCreated() 回调,此时相机开始发送预览数据。
当用户按下按钮开始录制时,相机会被解锁并交给 MediaRecorder 使用。需要为录制器设置适当的源和格式,还可以设置时间和文件大小限制,以防止用户存储过载。
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { }
@Override
public void surfaceDestroyed(SurfaceHolder holder) { }
录制完成后,文件会自动保存到外部存储,同时重置录制器实例,以便用户再次录制。还会重新获得相机控制权,使预览帧继续绘制。
在某些情况下,使用 Camera.setDisplayOrientation() 设置预览显示方向后,在电脑上播放视频时仍可能是横屏。可以使用 MediaRecorder 的 setOrientatio
超级会员免费看
订阅专栏 解锁全文
580

被折叠的 条评论
为什么被折叠?



