我想用我的安卓设备(Nexus 10)录制视频,然后上传到 youtube。
到目前为止,我正在使用 android MediaRecoder 录制并通过 LocalSocket 流式传输以将数据保存到多个文件中。但是文件不能播放。
我阅读了一些符合 API-Level 18 的文章,可以使用 MediaCodec 和/或 MediaMuxer 转换文件。我找到了这段代码,但我真的不明白如何处理它。
有没有人展示如何将原始数据从 LocalSocket 转换为可播放文件(即 mp4 文件)的简单示例?
我的 MediaRecoder 看起来像这样:
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
CamcorderProfile camcorderProfile_HQ = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
camcorderProfile_HQ.fileFormat = MediaRecorder.OutputFormat.MPEG_4;
camcorderProfile_HQ.videoCodec = MediaRecorder.VideoEncoder.MPEG_4_SP;
recorder.setProfile(camcorderProfile_HQ);
recorder.setPreviewDisplay(surfaceHolder.getSurface());
clientSocket = new LocalSocket();
clientSocket.connect(new LocalSocketAddress(SOCKET_ADDRESS));
recorder.setOutputFile(clientSocket.getFileDescriptor());
recorder.prepare();
recorder.start();
提前致谢。