- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在您可以在此处找到的两个示例的帮助下使用 Camera2 API:
我使用与上述链接中相同的源代码,因此我不会在此处复制我的源代码(除非您需要某些部分,否则我将编辑我的问题并发布)。
编辑:
进行了一些测试。当我尝试通过手机播放视频时,它只显示第一帧,我可以听到录音中实际的音频(声音)。一旦视频播放到结束,视频会以某种方式自动重新开始并按应有的方式显示视频。
但是,当我尝试在我的 PC 上播放视频时(将其从手机复制到桌面),我只看到最后一帧黑屏。显示最后一帧,但视频根本不播放。我可以听到音频(声音)。
我在想可能某些视频编码/解码有问题?
问题:
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画面黑屏,录像只有1秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793657/
我已经实现了 this官方 Google Camera2 示例对我的应用程序进行了细微更改,以便在自定义相机中拍照。我还需要提供视频录制选项,但找不到示例 - 可能是因为 Camera2 API 相对
我在 google play 中发布了我的应用。 此 Activity 通过前置摄像头录制视频,如果不可用,则使用后置摄像头 在崩溃部分我收到了这个输出: java.lang.RuntimeExcep
前言 哈喽,大家好,我是海怪。 最近项目遇到一个要在网页上录音的需求,在一波搜索后,发现了 react-media-recorder[1] 这个库。今天就跟大家一起研究一下这个库的源码吧,从 0
我是一名优秀的程序员,十分优秀!