Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用MediaCodec和MediaMuxer录制视频和音频_Android_Audio_Video_Android Mediacodec_Mediamuxer - Fatal编程技术网

Android 如何使用MediaCodec和MediaMuxer录制视频和音频

Android 如何使用MediaCodec和MediaMuxer录制视频和音频,android,audio,video,android-mediacodec,mediamuxer,Android,Audio,Video,Android Mediacodec,Mediamuxer,我能够在MediaCodec和MediaMuxer的帮助下录制(编码)视频。接下来,我需要在MediaCodec和MediaMuxer的帮助下处理音频部分和带视频的mux音频 我面临两个问题: 如何使用MediaCodec对音频进行编码。我需要对音频和视频进行编码吗 独立线程中的视频 如何将音频和视频数据传递到MediaMuxer(as) writeSampleData()方法一次只获取一种类型的数据) 我提到了,但它使用的是MediaExtractor。我需要使用MediaCodec,因为视频

我能够在MediaCodec和MediaMuxer的帮助下录制(编码)视频。接下来,我需要在MediaCodec和MediaMuxer的帮助下处理音频部分和带视频的mux音频

我面临两个问题:

  • 如何使用MediaCodec对音频进行编码。我需要对音频和视频进行编码吗 独立线程中的视频

  • 如何将音频和视频数据传递到MediaMuxer(as) writeSampleData()方法一次只获取一种类型的数据)

  • 我提到了,但它使用的是MediaExtractor。我需要使用MediaCodec,因为视频编码是用MediaCodec完成的。如果我错了,请纠正我

    任何建议或建议都将非常有用,因为没有适用于这些新API的适当文档

    注意:

  • 我的应用程序的目标是API 18+(Android 4.3+)
  • 我已经提到了视频编码
  • 不,音频不一定需要单独的线程,只需使用两个单独的MediaCodec实例即可

  • writeSampleData
    的第一个参数是
    trackIndex
    ,它允许您指定每个数据包对应的磁道。(通过运行两次
    addTrack
    ,每个曲目一次,您将获得两个单独的曲目ID。)


  • 有代码示例吗?我还需要添加音频。请参考此链接: