camera2 api -> mediaCodec -> mediaMuxer -> mp4 文件

问题描述

我正在尝试获取 mp4 文件。我使用 camera2 api 拍摄视频,并可以使用 MediaCodec 将其保存为 avc 文件。但我不明白如何重做这段代码,以便使用 Mediamuxer 编码成 mp4 文件。对不起我的英语,这是通过翻译翻译的

NotificationListener<ScrollEndNotification>(
  child: ListView(
    controller: _scrollController,children: ...
  ),onNotification: (notification) {
    print(_scrollController.position.pixels);
  },),

在初始化 MediaCodec 后,我录制了视频:

private class EncoderCallback : MediaCodec.Callback() {

      override fun onInputBufferAvailable(codec: MediaCodec,index: Int) {
      }
      override fun onOutputBufferAvailable(
          codec: MediaCodec,index2: Int,info: MediaCodec.BufferInfo
      ) {
          outPutByteBuffer = mCodec!!.getoutputBuffer(index2)
          val outDate = ByteArray(info.size)
           outPutByteBuffer!![outDate]
          try {
              Log.i("EncoderCallBack"," outDate.length : " + outDate.size)

              outputStream!!.write(outDate,outDate.size) 
          } catch (e: IOException) {
              e.printstacktrace()
          }
          mCodec!!.releaSEOutputBuffer(index2,false)
      }

      override fun onError(codec: MediaCodec,e: MediaCodec.CodecException) {
          Log.i("EncoderCallBack","Error: $e")
      }

      override fun onOutputFormatChanged(codec: MediaCodec,format: MediaFormat) {
          Log.i("EncoderCallBack","encoder output format changed: $format")
      }

  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...