Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Flutter 颤振视频播放包问题_Flutter - Fatal编程技术网

Flutter 颤振视频播放包问题

Flutter 颤振视频播放包问题,flutter,Flutter,你好,我尝试了video_playeur软件包,但在我多次重放视频时崩溃。。。报告如下: I/ExoPlayerImpl(20516): Init c98f76 [ExoPlayerLib/2.9.6] [herolte, SM-G930F, samsung, 26] V/Surface (20516): sf_framedrop debug : 0x4f4c, game : false, logging : 0 I/ACodec (20516): [] Now uninitialized

你好,我尝试了video_playeur软件包,但在我多次重放视频时崩溃。。。报告如下:

I/ExoPlayerImpl(20516): Init c98f76 [ExoPlayerLib/2.9.6] [herolte, SM-G930F, samsung, 26]
V/Surface (20516): sf_framedrop debug : 0x4f4c, game : false, logging : 0
I/ACodec  (20516):  [] Now uninitialized
I/ACodec  (20516): [] onAllocateComponent
I/OMXClient(20516): Treble IOmx obtained
I/ACodec  (20516): [OMX.Exynos.avc.dec] Now Loaded
V/Surface (20516): sf_framedrop debug : 0x4f4c, game : false, logging : 0
D/SurfaceUtils(20516): connecting to surface 0x756360d010, reason connectToSurface
I/MediaCodec(20516): [OMX.Exynos.avc.dec] setting surface generation to 21008428
D/SurfaceUtils(20516): disconnecting from surface 0x756360d010, reason connectToSurface(reconnect)
D/SurfaceUtils(20516): connecting to surface 0x756360d010, reason connectToSurface(reconnect)
I/MediaCodec(20516): failed to configure codec bacause of codec capacity
E/MediaCodec(20516): Codec reported err 0xffffec77, actionCode 0, while in state 3
D/SurfaceUtils(20516): disconnecting from surface 0x756360d010, reason disconnectFromSurface
E/MediaCodec(20516): configure failed with err 0xffffec77, resetting...
I/ACodec  (20516):  [OMX.Exynos.avc.dec] Now uninitialized
I/ACodec  (20516):  [] Now kWhatShutdownCompleted event : 8483
I/MediaCodec(20516): Codec shutdown complete
I/ACodec  (20516):  [] Now uninitialized
I/ACodec  (20516): [] onAllocateComponent
I/OMXClient(20516): Treble IOmx obtained
I/ACodec  (20516): [OMX.Exynos.avc.dec] Now Loaded
I/ACodec  (20516):  [OMX.Exynos.avc.dec] Now uninitialized
I/ACodec  (20516):  [] Now kWhatShutdownCompleted event : 8483
I/MediaCodec(20516): Codec shutdown complete
W/MediaCodecRenderer(20516): Failed to initialize decoder: OMX.Exynos.avc.dec
W/MediaCodecRenderer(20516): android.media.MediaCodec$CodecException: Error 0xffffec77
W/MediaCodecRenderer(20516):    at android.media.MediaCodec.native_configure(Native Method)
W/MediaCodecRenderer(20516):    at android.media.MediaCodec.configure(MediaCodec.java:1935)
W/MediaCodecRenderer(20516):    at android.media.MediaCodec.configure(MediaCodec.java:1864)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:483)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:805)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:745)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:474)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:529)
W/MediaCodecRenderer(20516):    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:300)
W/MediaCodecRenderer(20516):    at android.os.Handler.dispatchMessage(Handler.java:101)
W/MediaCodecRenderer(20516):    at android.os.Looper.loop(Looper.java:164)
W/MediaCodecRenderer(20516):    at android.os.HandlerThread.run(HandlerThread.java:65)
E/ExoPlayerImplInternal(20516): Playback error.
E/ExoPlayerImplInternal(20516): com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(1, null, null, video/avc, null, -1, null, [1440, 1080, -1.0], [-1, -1])
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:479)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:529)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:300)
E/ExoPlayerImplInternal(20516):     at android.os.Handler.dispatchMessage(Handler.java:101)
E/ExoPlayerImplInternal(20516):     at android.os.Looper.loop(Looper.java:164)
E/ExoPlayerImplInternal(20516):     at android.os.HandlerThread.run(HandlerThread.java:65)
E/ExoPlayerImplInternal(20516): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(1, null, null, video/avc, null, -1, null, [1440, 1080, -1.0], [-1, -1])
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:753)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:474)
E/ExoPlayerImplInternal(20516):     ... 9 more
E/ExoPlayerImplInternal(20516): Caused by: android.media.MediaCodec$CodecException: Error 0xffffec77
E/ExoPlayerImplInternal(20516):     at android.media.MediaCodec.native_configure(Native Method)
E/ExoPlayerImplInternal(20516):     at android.media.MediaCodec.configure(MediaCodec.java:1935)
E/ExoPlayerImplInternal(20516):     at android.media.MediaCodec.configure(MediaCodec.java:1864)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:483)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:805)
E/ExoPlayerImplInternal(20516):     at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:745)
E/ExoPlayerImplInternal(20516):     ... 10 more
我的职能

   Future<String> create_video() async {

SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('daysfromnow_modify',daysfromnow_modify)??"";


final Directory extDir = await getApplicationDocumentsDirectory();
_controller = VideoPlayerController.network(

    'file:${extDir.path}/Movies/$daysfromnow_modify.mp4'

)

..initialize().then((_) {
  setState(() {


      if( _controller!=null){
        _changed(true, "video_chargement"); //display video
      }else{
        _changed(false, "video_chargement"); // hide video
      }

    });

});
Future create_video()异步{
SharedReferences prefs=等待SharedReferences.getInstance();
prefs.setString('daysfromnow\u modify',daysfromnow\u modify);
最终目录extDir=wait getApplicationDocumentsDirectory();
_控制器=VideoPlayerController.network(
'文件:${extDir.path}/Movies/$daysfromnow\u modify.mp4'
)
…初始化()。然后(u41;{
设置状态(){
如果(_controller!=null){
_更改(true,“视频收费”);//显示视频
}否则{
_更改(错误,“视频收费”);//隐藏视频
}
});
});
} 一切都很好,但在5次重播、8次重播或10次重播后,我随机崩溃了


我使用这个示例,只添加了_controller.initialize();若要在没有它的情况下重放视频,我无法重放已完成的视频。但是当controller.initialize()时;如果(\u controller.value.position>=\u controller.value.duration){u controller.seekTo(duration.zero),则通过不使用initilized,而是将播放返回到零来实现此解决方案}但我在加载下一个视频时总是遇到ressource问题,因为我不知道如何在不使用.initialize()的情况下重新加载。是的,我有一个三星s7,你觉得发布它怎么样?如果你有一个小例子,你必须先释放当前的视频/媒体编解码器实例,然后再启动另一个实例。如果其他应用程序正在使用
MediaCodec
,如摄像头应用程序或其他视频播放器,也可能发生此问题。不幸的是,在您启动下一个实例时,无法知道解码器是否已释放。假设您使用的是
曲面
来显示视频,则应在
onSurfaceTextureDistromed
中释放编解码器。您可以通过调用
getMaxSupportedInstances
来检查支持多少个
MediaCodec
实例,请参阅此处的文档-shorturl.at/elw48