Android 自定义视频录制终极解决方案(翻转问题)

Android 自定义视频录制翻转问题终极解决方案

  • 自定义视频录制
  • 使用系统可用播放器
  • 前后摄像和视频反转问题
  • 总结

自定义视频录制

mediarecorder = new MediaRecorder();// 创建mediarecorder对象
        mCamera = getCameraInstance(); // 获取camera

        if (null == mCamera) {
            LogUtil.d("没有摄像头!");
            return;
        }
        mCamera.unlock();
        mediarecorder.setCamera(mCamera); // 设置录制视频源为Camera(相机)
        mediarecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        // 设置录制文件质量,格式,分辨率之类,这个全部包括了
//        //mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));
//注意:这里如果调用了setProfile这个方法的话, 再调用setOutputFormat();则会报错。
看看setProfile的源码实现:

public void setProfile(CamcorderP

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Android中实现仿微信视频通话翻转摄像头的功能,需要借助Camera2 API来控制摄像头的操作。 首先,我们需要判断设备是否支持Camera2 API。可以通过检查设备的特性来确定是否支持。然后,根据摄像头的切换方式,可以选择使用前置或后置摄像头。 在使用Camera2 API之前,需要申请摄像头的权限。在AndroidManifest.xml文件中添加相应的权限声明。 接下来,需要创建一个CameraManager来管理设备的摄像头。可以使用CameraManager.getCameraIdList()方法获取所有可用的摄像头ID。 然后,通过调用CameraManager.openCamera()方法来打开所选摄像头。在回调函数中,我们可以获取到CameraDevice对象,用于后续的摄像头操作。 在进行摄像头切换时,需要先关闭当前正在使用的摄像头,然后再打开另一个摄像头。可以使用CameraDevice.close()方法来关闭摄像头。 切换摄像头时,需要修改预览的SurfaceTexture对象,以显示摄像头的实时画面。可以使用CameraDevice.createCaptureSession()方法来创建预览会话。 在预览会话成功创建后,可以使用CameraCaptureSession.setRepeatingRequest()方法开始预览或录制视频。 当需要切换摄像头时,可以按照上述步骤依次进行操作。在切换完成后,即可实现仿微信视频通话翻转摄像头的功能。 需要注意的是,Camera2 API在不同的Android版本上有所差异,开发时需要根据目标设备的API级别来选择兼容的接口和方法。可以使用Support库来兼容不同版本的API。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值