我用过video_player: ^0.10.1+2,它在IOS上运行良好,但在安卓上不起作用。
_videoPlayerController1 = VideoPlayerController.network('url with .m3u8 file');
_chewieController = ChewieController(
videoPlayerController: _videoPlayerController1,
//aspectRatio: 3 / 2,
//aspectRatio: _videoPlayerController1.value.aspectRatio,
autoPlay: true,
looping: true,
routePageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondAnimation, provider) {
return AnimatedBuilder(
animation: animation,
builder: (BuildContext context, Widget child) {
return VideoScaffold(
child: Scaffold(
resizeToAvoidBottomPadding: false,
body: Container(
margin: EdgeInsets.only(bottom: 50),
alignment: Alignment.center,
color: Colors.black,
child: provider,
),
),
);
},
);
},
materialProgressColors: ChewieProgressColors(
playedColor: Colors.red,
handleColor: Colors.blue,
backgroundColor: Colors.grey,
bufferedColor: Colors.lightGreen,
),
placeholder: Container(
color: Colors.grey,
),
autoInitialize: true,
);E/ExoPlayerImplInternal(13111): com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404
E/ExoPlayerImplInternal(13111): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:300)
E/ExoPlayerImplInternal(13111): at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:83)
E/ExoPlayerImplInternal(13111): at com.google.android.exoplayer2.upstream.DataSourceInputStream.checkOpened(DataSourceInputStream.java:102)
E/ExoPlayerImplInternal(13111): at com.google.android.exoplayer2.upstream.DataSourceInputStream.open(DataSourceInputStream.java:65)
E/ExoPlayerImplInternal(13111): at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:156)
E/ExoPlayerImplInternal(13111): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:381)
E/ExoPlayerImplInternal(13111): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/ExoPlayerImplInternal(13111): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/ExoPlayerImplInternal(13111): at java.lang.Thread.run(Thread.java:764)发布于 2020-11-04 03:11:52
Flutter的video_player插件使用docs中提到的Android上的ExoPlayer。它应该支持每个检查ExoPlayer's GitHub issue tracker的.m3u8格式。
如果你能运行一个安卓项目,我建议你试着在他们的demo app上播放你的.m3u8流链接,看看它是否有效。如果.m3u8链接在ExoPlayer演示应用程序上有效,则video_player插件中可能存在问题。否则,我建议在ExoPlayer's GitHub issue page上提交一个工单,检查您正在使用的媒体是否有问题。还请包括可访问的.m3u8流链接,可以测试该链接以诊断问题。
https://stackoverflow.com/questions/56454686
复制相似问题