Neeko
Простой виджет видеоплеера, основанный на video_player. Neeko поддерживает больше действий, таких как управление временной шкалой, переключение в полноэкранный режим и так далее.
Примечание: этот плагин всё ещё находится в разработке. Запросы на вытягивание приветствуются.
Установка
Сначала добавьте neeko в качестве зависимости в файл pubspec.yaml (https://flutter.io/using-packages/).
Предупреждение: видеоплеер не работает на симуляторах iOS. Во время разработки/тестирования необходимо использовать устройство iOS.
Добавьте следующую запись в файл Info.plist, расположенный в <project root>/ios/Runner/Info.plist
:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Эта запись позволяет вашему приложению получать доступ к видеофайлам по URL.
Убедитесь, что в вашем файле Android Manifest, расположенном в <project root>/android/app/src/main/AndroidManifest.xml
, присутствует следующее разрешение:
<uses-permission android:name="android.permission.INTERNET"/>
Шаблон проекта Flutter добавляет его, поэтому он может уже быть там.
Пример
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
// static const String beeUri = 'https://media.w3.org/2010/05/sintel/trailer.mp4';
static const String beeUri =
'http://vfx.mtime.cn/Video/2019/03/09/mp4/190309153658147087.mp4';
final VideoControllerWrapper videoControllerWrapper = VideoControllerWrapper(
DataSource.network(
'http://vfx.mtime.cn/Video/2019/03/09/mp4/190309153658147087.mp4',
displayName: "displayName"));
@override
void initState() {
super.initState();
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
}
@override
void dispose() {
SystemChrome.restoreSystemUIOverlays();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: NeekoPlayerWidget(
onSkipPrevious: () {
print("skip");
videoControllerWrapper.prepareDataSource(DataSource.network(
"http://vfx.mtime.cn/Video/2019/03/12/mp4/190312083533415853.mp4",
displayName: "This house is not for sale"));
},
videoControllerWrapper: videoControllerWrapper,
actions: <Widget>[
IconButton(
icon: Icon(
Icons.share,
color: Colors.white,
),
onPressed: () {
print("share");
})
],
),
);
}
}
Благодарности
Copyright (c) 2019 Neeko Contributors
Neeko лицензируется в соответствии с Mulan PSL v1.
Вы можете использовать это программное обеспечение в соответствии с условиями и положениями Mulan PSL v1. Вы можете получить копию Mulan PSL v1 по адресу:
http://license.coscl.org.cn/MulanPSL
ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ НА УСЛОВИЯХ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ОПРЕДЕЛЁННЫМ ЦЕЛЯМ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ ТРЕТЬИХ ЛИЦ.
Подробнее см. в Mulan PSL v1.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )