我製作了一個使用MediaCodec庫的視頻播放器,並且我想添加播放列表功能。我嘗試過兩個MediaCodec實例,以便在兩個連續的視頻之間進行更平滑的過渡,但是這在某些設備(我嘗試過使用氰基的S4)時似乎很危險,但它在S4中與TouchWiz完全一樣代碼在Media Codec聲明中崩潰。這是代碼片段:多個MediaCodec實例
MediaExtractor extractor = new MediaExtractor();
extractor.setDataSource(path1);
MediaFormat format = extractor.getTrackFormat(0);
String mime = format.getString(MediaFormat.KEY_MIME);
extractor.selectTrack(0);
MediaCodec decoder = MediaCodec.createDecoderByType(mime);
decoder.configure(format, null, null, 0);
MediaExtractor extractor2 = new MediaExtractor();
extractor2.setDataSource(path2);
MediaFormat format2 = extractor2.getTrackFormat(0);
String mime2 = format.getString(MediaFormat.KEY_MIME);
extractor2.selectTrack(0);
MediaCodec decoder2 = MediaCodec.createDecoderByType(mime2);
decoder2.configure(format2, null, null, 0);
,我在S4的TouchWiz得到了異常
E/ACodec(17651): configureCodec multi window instance fail appPid : 17651
E/ACodec(17651): [OMX.qcom.video.decoder.avc] configureCodec returning error -38
E/MediaCodec(17651): Codec reported an error. (omx error 0x80001001, internalError -38)
任何人都可以點我如何正確地做一些這方面的指引?也許不同的線程?我真的很想在不同的視頻之間平滑過渡,但我至少需要它在某些設備上始終如一地工作。
非常感謝
該死的,是一個錯字,我編輯,但錯誤依然存在,我確實把它縮小到只有使用android相機拍攝的視頻。 – roimatola
我有類似的問題。你解決了嗎? – pstoppani
@roimatola我很好奇你是否曾經爲此找到過解決方案? –