我正在尝试使用MediaDecoder类编写视频播放器,但我遇到了一个问题,它阻碍了我的开发。
以下是代码片段:
问题是每个设备打印的输出格式都不同,因此无法将其打印到Open GL纹理中。是否有一种方法强制解码器始终输出相同的格式?如果没有,是否有任何可用的库来进行转换?非常感谢任何见解。
以下是代码片段:
extractor = new MediaExtractor();
extractor.setDataSource(filename);
MediaFormat format = extractor.getTrackFormat(i);
extractor.selectTrack(0);
MediaCodec decoder = MediaCodec.createDecoderByType(mime);
decoder.configure(format, null, null, 0);
decoder.start();
ByteBuffer[] inputBuffers = decoder.getInputBuffers();
ByteBuffer[] outputBuffers = decoder.getOutputBuffers();
Log.d(TAG, " "+decoder.getOutputFormat());
问题是每个设备打印的输出格式都不同,因此无法将其打印到Open GL纹理中。是否有一种方法强制解码器始终输出相同的格式?如果没有,是否有任何可用的库来进行转换?非常感谢任何见解。