我正在构建一个应用程序,它将保存60秒的录制视频缓冲区.视频录制需要运行一段时间(24-48小时).我似乎没有任何录音问题,但似乎我失去了与我Camera或Surface几小时后的连接.
我正在设置最大持续时间:MediaRecorder.setMaxDuration(10 * 1000)以便将录制分成10秒段.
每次重新开始录制时,我都会以这样的方式递增输出文件,即重复使用6个文件.目的是始终保持60秒的历史.
如果我在1-2小时后停止录制,视频播放就可以了.但是,如果我让它运行3-4个小时并停止录制,则视频仅显示带声音的黑色输出.换句话说,就好像它失去了与相机或表面的连接,但继续录制音频.
谁能解释这种行为?
如果没有别的,有没有更好的方法来记录X秒的视频片段?
仅供参考:我正在使用唤醒锁定,以便屏幕/ CPU保持打开状态.
我在这里已经回答了我自己的问题。我没有太多信息,但希望这能提供足够的信息来帮助处于类似困境的其他人。
首先,我从未发布过我的代码,因为它太长了。我没有发布我的代码片段,因为我不知道问题出在哪里。尽管我现在可以正常工作,但我仍然不知道我的旧代码出了什么问题。
我的建议:
我最终废弃了我的代码,并从开发 API 演示中找到的代码重新开始:CameraPreview-- 我在该网站上的至少一个线程中找到了此引用。
之后我就可以毫无问题地连续录制几个小时。因此,如果您遇到类似的情况,我建议您使用该CameraPreview代码作为起点。
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |