首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓有没有flutter插件可以播放直播视频(.m3u8)?

安卓有没有flutter插件可以播放直播视频(.m3u8)?
EN

Stack Overflow用户
提问于 2019-06-05 13:29:03
回答 1查看 4.2K关注 0票数 5

我用过video_player: ^0.10.1+2,它在IOS上运行良好,但在安卓上不起作用。

代码语言:javascript
复制
_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,
    );
代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 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流链接,可以测试该链接以诊断问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56454686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档