其他分享
首页 > 其他分享> > Android Camera2图片为黑色,视频记录仅为1秒

Android Camera2图片为黑色,视频记录仅为1秒

作者:互联网

我在这里可以找到两个示例的帮助下使用Camera2 API:

> GitHub – Camera2Video
> GitHub – Camera2Basic

我在上面的链接中使用相同的源代码,所以我不会在这里复制我的源代码(除非你需要一些部分,我将编辑我的问题并发布它).

编辑:

跑了一些测试.当我尝试通过手机播放视频时,它只显示第一帧,我可以听到录音中实际存在的音频(语音).视频一直播放结束,视频会以某种方式自动重启,并按预期显示视频.

但是,当我尝试在我的电脑上播放视频(将其从手机复制到桌面)时,我只会在最后一帧之前获得黑屏.显示最后一帧,但视频根本不播放.我可以听到音频(声音).

我想也许有一些视频编码/解码的问题?

问题:

In my case the Video recording won’t work. I
can see both files in the directory that they should be on my Phone,
but when I play the video
(5 second video) first 4 seconds are black, then last second is like
one Frame of what I recorded and that’s it, yet file size seems big (160MB).

屏幕:

>一旦上传就会发布视频

我不知道有什么问题,请有人帮忙吗?

解决方法:

这不是一个真正的解决方案,但它仍然是我想做的伎俩.

为了播放视频,我必须在MediaRecorder设置中完全禁用音频:

        //mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
        mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        mMediaRecorder.setOutputFile(getVideoFile(activity).getAbsolutePath());
        mMediaRecorder.setVideoEncodingBitRate(10000000);
        mMediaRecorder.setVideoFrameRate(24);
        mMediaRecorder.setVideoSize(mVideoSize.getWidth(), mVideoSize.getHeight());
        mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
        //mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

您可以注意到我可以在哪里注释掉命令.一旦我这样做,视频播放正常.

希望这个糟糕的解决方法仍然可以帮助那些在视频录制中也不需要音频的人.

标签:android-camera2,android,video,android-camera,android-image
来源: https://codeday.me/bug/20190824/1705792.html