Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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
Java Android MediaCodec,解码的数据可以是原始数据的两倍吗?_Java_Android_Encoding_Decoding_Android Mediacodec - Fatal编程技术网

Java Android MediaCodec,解码的数据可以是原始数据的两倍吗?

Java Android MediaCodec,解码的数据可以是原始数据的两倍吗?,java,android,encoding,decoding,android-mediacodec,Java,Android,Encoding,Decoding,Android Mediacodec,我在测试 麦克风 ->音频记录(原始PCM) ->MediaCodec编码器(到原始AAC) ->UDP ->MediaCodec解码器(到原始PCM) ->演讲者 目前,解码器过程已成功完成,至少没有错误 然而,作为每个解码周期输出的rawPCM的字节[]大小大约是编码周期输入的两倍 音频记录器﹕ 4096读取字节数 音频编码器﹕ 360字节编码 D/UDP接收机﹕ 收到!!from///127.0.0.1:39000 D/UDP接收机﹕ 接收到360字节 音频解码器﹕ 8192已解码字节 很

我在测试

麦克风

->音频记录(原始PCM)

->MediaCodec编码器(到原始AAC)

->UDP

->MediaCodec解码器(到原始PCM)

->演讲者

目前,解码器过程已成功完成,至少没有错误

然而,作为每个解码周期输出的rawPCM的字节[]大小大约是编码周期输入的两倍

音频记录器﹕ 4096读取字节数

音频编码器﹕ 360字节编码

D/UDP接收机﹕ 收到!!from///127.0.0.1:39000

D/UDP接收机﹕ 接收到360字节

音频解码器﹕ 8192已解码字节

很明显,我希望RAWCMM的尺寸与原来的尺寸相匹配,但感觉有点不对劲

这个问题与我之前的问题相关,代码也在那里

到目前为止,我还没有做这个解码字节播放扬声器

有什么想法吗?谢谢


更新:

我试着玩speaker,实际上,它稍微起作用了,所以解码过程至少起作用了


轻微表示延迟约为10秒,音质糟糕。我在Genymotion emulator上测试了这一点,不知道这种仿真器是如何影响这一点的。

这听起来像是在捕获单声道,对其进行编码,然后解码器将其作为立体声流输出,单声道在左声道和右声道之间复制


确保当
MediaCodec.dequeueOutputBuffer()
返回
MediaCodec.INFO\u OUTPUT\u FORMAT\u更改时,调用
MediaCodec.getOutputFormat()
获取当前格式。

我正在尝试解决同样的问题,是的,当我调用
MediaCodec.getOutputFormat()
时,在解码器的
MediaCodec.INFO\u输出\u格式\u已更改
,原始输入中有2个通道,而不是1个。