【发布时间】:2019-11-24 16:10:01
【问题描述】:
我创建了一个播放视频的小部件,并在控制器中放置了视频文件和视频网络,但是当播放 3 个视频时出现此错误
Playback error.
E/ExoPlayerImplInternal(24720): com.google.android.exoplayer2.ExoPlaybackException
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.throwDecoderInitError(MediaCodecRenderer.jav a:441)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:428)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:920)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:503)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:557)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301)
E/ExoPlayerImplInternal(24720): at android.os.Handler.dispatchMessage(Handler.java:98)
E/ExoPlayerImplInternal(24720): at android.os.Looper.loop(Looper.java:154)
E/ExoPlayerImplInternal(24720): at android.os.HandlerThread.run(HandlerThread.java:61)
E/ExoPlayerImplInternal(24720): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, video/avc, -1, null, [1280, 720, -1.0], [-1, -1])
E/ExoPlayerImplInternal(24720): ... 9 more
E/ExoPlayerImplInternal(24720): Caused by: android.media.MediaCodec$CodecException: Error 0xffffec77
E/ExoPlayerImplInternal(24720): at android.media.MediaCodec.native_configure(Native Method)
E/ExoPlayerImplInternal(24720): at android.media.MediaCodec.configure(MediaCodec.java:1884)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:450)
E/ExoPlayerImplInternal(24720): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:418)
E/ExoPlayerImplInternal(24720): ... 8 more
这是我在其他页面中使用的小部件
ChewieDemoState(this.url);
VideoPlayerController _controller;
@override
void initState() {
super.initState();
final path =Provider.of<DiractoryPath>(context,listen:false).diractory;
_controller = new File("$path/${url.split('/').last.replaceAll("%20", "_")}").existsSync()?
VideoPlayerController.file(new File("$path/${url.split('/').last.replaceAll("%20", "_")}")):
VideoPlayerController.network(url);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return new Center(
child: new Chewie(
_controller,
aspectRatio: 3 / 2,
autoPlay: true,
looping: true,
// Try playing around with some of these other options:
// showControls: false,
materialProgressColors: new ChewieProgressColors(
playedColor: Colors.blue,
handleColor: Colors.blue,
backgroundColor: Color(0xFF282828),
bufferedColor: Colors.lightGreen,
),
placeholder: new Container(
color: Color(0xFF282828),
),
// autoInitialize: true,
),
);
}
}
如何解决这个错误我在三个视频尝试后得到这个错误我给它视频文件和视频网络我正确使用 dispose 方法是什么? 播放了三个视频,但我使用的多半是咀嚼包
【问题讨论】:
-
手机等小型设备无法同时播放多个视频。解码视频会占用已耗尽的硬件资源。
-
如何修复它我需要代码
-
无法修复,无代码
-
@mohammadshabani 你的问题解决了吗?我有同样的错误,我找不到解决方案。提前致谢。
标签: android video flutter dart