400-123-4657
行业资讯
您当前的位置: 首页 > 新闻动态 > 行业资讯

Step 1: setCamera参数切换功能及mMediaRecorder.setOrientationHint(90)的旋转与播放问题

时间:2025-04-10

录制简短视频时必须注意的参数

        mCamera.unlock();
        if (mMediaRecorder == null) {
            mMediaRecorder = new MediaRecorder();
            mMediaRecorder.setOrientationHint(90);
        }
        if (isCameraFrontFacing()) {
            mMediaRecorder.setOrientationHint(270);
        }
        // Step 1: Unlock and set camera to MediaRecorder
        mMediaRecorder.reset();
        mMediaRecorder.setCamera(mCamera);
        // Step 2: Set sources
        mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);
        mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        // Step 3: Set a Camera Parameters
        mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        /* Fixed video Size: 640 * 480*/
        mMediaRecorder.setVideoSize(optimalPicSize.width, optimalPicSize.height);
        /* Encoding bit rate: 1 * 1024 * 1024*/
        mMediaRecorder.setVideoEncodingBitRate((int) ((1.5) * 1024 * 1024));
        mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
        mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        mMediaRecorder.setAudioSamplingRate(44); // 设置音频采样率为44
        mMediaRecorder.setAudioEncodingBitRate(64); // 设置音频比特率为64
        mMediaRecorder.setAudioChannels(1); // 设置录制的音频通道数
        // Step 4: Set output file
        mMediaRecorder.setOutputFile(savePath);

步骤1:SetCamera参数可以在预览和记录中快速切换,避免重新装载相机对象。在某些Android手机自己的相机程序中,读者可以体验到预览和录制的简短口吃。当记录方向为垂直时(肖像)时,使用mmediarecorder.setorientationhint(90)。它可以沿顺时针方向旋转90度的视频文件。如果未设置此项目,则播放视频时屏幕将旋转90度。但是,更重要的是,即使设置了此项目,屏幕仍将在某些玩家上旋转90度(例如,将通常在电话上播放的视频导入到PC上进行播放,或嵌入H5的视频标签中)。为什么?请注意,一些视频播放器可能会选择忽略播放期间视频中的组成矩阵。那么,如何在所有球员上朝着正常的方向发挥作用呢?等待片刻,并在将来特别解释。步骤2:setAudioSource(Mediarecorder.audiosource.voice_recognition),语音_RECOGNITION将根据语音识别的需求进行一些调整,当然,系统需要得到系统的支持。

SetVideOsource自然是VideoSource.Camera,但是必须在设置编码器之前设置这两个设置,不需要说明。步骤3:SetOutputFormat需要在步骤2之后和准备之前()。这使用outputformat.mpeg_4格式。 SetVideosize需要权衡许多因素,主要包括三个方面:Mediarecorder支持的记录尺寸,视频文件的大小以及与不同的Android模型的兼容性。 640 * 480(微信短视频的大小为320 * 240),文件大小在500-1000kb之间,市场上的99%以上支持此记录大小。 setVideoencodingBitrate与视频的清晰度有关。设置此参数需要权衡清晰度和文件大小之间的关系。如果它太高,则文件不容易传输;如果它太低,则文件的清晰度很低,并且识别率很低。需要根据实际业务方案灵活调整它。 setVideoEncoder使用H264编码。可以比较不同编码(例如MPEG4,H263,H264)之间的差异。在实际使用中,H264的压缩率相对较高,因此建议使用。 SetAudioEncoder使用AudioEncoder.aac,此设置主要考虑其普遍性和兼容性。

步骤4:setMaxFilesize指定录制文件的大小限制,当然也可以限制其最大记录时间。 SetOutputFile指定输出视频的路径。 setonErlistener指定错误侦听器。摘要:代码的顺序非常重要。如果代码未按顺序执行,则会引发异常。必须设置setVideoEncodingBitrate。捕获的视频未设置该值非常模糊。参考文档:

常见问题解答录制视频

©版权属于作者。请联系作者重印或内容合作。

地址:广东省广州市天河区88号   电话:400-123-4657   传真:+86-123-4567
版权所有:Copyright © 2002-2025 凯发·(中国)网站-AG旗舰厅 版权所有 非商用版本      ICP备案编号:粤IP**********
凯发·(中国)网站-AG旗舰厅