FFMPEG Android-将bytebuffer传递给FFMPEG
我正在尝试ffmpeg,我被困在如何通过考试的问题上 通过FFmpeg方法avcodec\U decode\U audio3 在JNI代码中,我能够通过GetDirectBufferAddress访问bytebuffer,这给了我一个jbyte类型的对象。如何将其传递给ffmpeg的avcodec\U decode\U audio3方法 is avcodec_decode_audio3的方法声明为 以前有人这样做过吗FFMPEG Android-将bytebuffer传递给FFMPEG,android,streaming,radio,aac,Android,Streaming,Radio,Aac,我正在尝试ffmpeg,我被困在如何通过考试的问题上 通过FFmpeg方法avcodec\U decode\U audio3 在JNI代码中,我能够通过GetDirectBufferAddress访问bytebuffer,这给了我一个jbyte类型的对象。如何将其传递给ffmpeg的avcodec\U decode\U audio3方法 is avcodec_decode_audio3的方法声明为 以前有人这样做过吗 有人能解释一下吗?如果有人能给我一个如何做到这一点的片段,这将是非常有用的。我
有人能解释一下吗?如果有人能给我一个如何做到这一点的片段,这将是非常有用的。我已经开始了一个简单的项目,我使用ffmpeg解码。我已经设法用Java编译ffmpeg、获取流、解码pcm数据并将其返回到AudioTrack。唯一的问题是我只得到了noize,但我正在努力。在此处检查它不要将其视为jbyte类型,而是将值转换为unsigned char*pBuffer char*pBuffer=*env->GetDirectBufferAddressenv,buf; 您需要将其类型转换为int16_t*示例的类型 然后将其传递给avcodec\U decode\U audio3。pBuffer 在这里进行复制: memcpysamples,frame.extended_数据[0],平面尺寸
avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples, int
*frame_size_ptr, AVPacket *avpkt)