flutter - 如何在 Flutter 上播放 M3U8 格式的 Android 和 iOS
问题描述
我在 iOS 上找不到 M3U8 Url 播放器的任何解决方案
我试过这些插件;
- video_player(无法播放)
- flutter_simple_video_player(仅支持安卓)
解决方案
chewie
lib 将用于播放 m3u8 文件
添加依赖
dependencies:
chewie: ^0.9.10
代码片段:
import 'package:flutter/material.dart';
import 'package:chewie/chewie.dart';
import 'package:video_player/video_player.dart';
void main() {
runApp(MaterialApp(home: MyApp()));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final videoPlayerController = VideoPlayerController.network(
'url.m3u8');
ChewieController chewieController;
@override
void initState() {
// TODO: implement initState
super.initState();
chewieController = ChewieController(
videoPlayerController: videoPlayerController,
aspectRatio: 3 / 2,
autoPlay: true,
looping: true,
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Sample App"),
),
body: Container(
child: Chewie(controller: chewieController),
));
}
}
推荐阅读
- c - 我的程序不会停止执行 if 语句但条件不满足
- python - 在python中同时运行一个函数和一个线程
- javascript - NextJS 路由器编码查询字符
- django - Django ORM 按日期分组并获取总值
- node.js - Nuxt:如何从 express 中获取会话值
- python - 无法使用 Selenium 填写表单:AttributeError:“WebDriver”对象没有属性“get_element_by_xpath”
- stored-procedures - Java Web with Weblogic, DB Informix 存储过程数据——不可能的问题
- html - 如何在 express/node.js 中动态定义嵌套路由
- javascript - 比较javascript中2个日期是否相同
- jquery - Choices JS Re-Initialize 不适用于动态行添加