admin管理员组

文章数量:1794759

Android开发之android录制视频功能

Android开发之android录制视频功能

录制视频主要使用到MediaRecorder这个类。代码也不多很简单我就直接粘贴下

if (btRecord.text.toString() == "录制") { camera = Camera.open() //设置录制界面的方向 camera.setDisplayOrientation(90) camera.unlock() mediaRecorder = MediaRecorder() //开始录制 btRecord.text = "停止" mediaRecorder.setCamera(camera) // 设置音频采集方式 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC) //设置视频的采集方式 mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA) //设置文件的输出格式 mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4) //设置audio的编码格式 mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC) //设置video的编码格式 mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264) //设置录制的视频编码比特率,越高视频越清晰当前文件也越大 // mediaRecorder.setVideoEncodingBitRate(1024 * 1024) // mediaRecorder.setVideoEncodingBitRate(10 * 1920 * 1080); //设置录制的视频帧率,注意文档的说明: mediaRecorder.setVideoFrameRate(30); //设置录制文件输出目录 val externalFilesDir = getExternalFilesDir(Environment.DIRECTORY_DCIM) val filePath = "${System.currentTimeMillis()}.mp4" val absolutePath = File(externalFilesDir, filePath).absolutePath mediaRecorder.setOutputFile(absolutePath) //设置分辨率 mediaRecorder.setVideoSize(640, 480) //设置录制方向 mediaRecorder.setOrientationHint(90) mediaRecorder.setPreviewDisplay(Surface(tvShowVideo.surfaceTexture)) //准备 mediaRecorder.prepare() //开始录制 mediaRecorder.start() } else { //停止录制 btRecord.text = "录制" //释放资源 mediaRecorder.stop() mediaRecorder.release() camera.stopPreview() camera.release() }

记得自己添加权限

<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />

如果看着理解不了可以下载源码查看

视频录制源码下载;Android视频录制源码下载

本文标签: 功能视频android