video_player 0.10.11+2

Flutter Android iOS web

Flutter插件,用于在Android和iOS上与其他Flutter小部件一起显示嵌入式视频.

Video Player plugin for Flutter #

pub package

适用于iOS,Android和Web的Flutter插件,用于在Widget曲面上播放视频.

请将您的约束条件设置为video_player: '>=0.10.y+x <2.0.0'

Backward compatible 1.0.0 version is coming #

该插件已达到稳定的API,我们保证1.0.0版将向后兼容0.10.y+z . 请使用video_player: '>=0.10.y+x <2.0.0'作为您的依赖项约束,以允许更顺畅的生态系统迁移. 有关更多详细信息,请参见: https : //github.com/flutter/flutter/wiki/Package-migration-to-1.0.0

The example app running in iOS

注意 :此插件仍在开发中,某些API可能尚不可用. 欢迎反馈拉取请求

Installation #

首先,将video_player添加为pubspec.yaml文件中依赖项 .

iOS #

警告:视频播放器在iOS模拟器上不起作用. 开发/测试期间必须使用iOS设备.

将以下条目添加到您的Info.plist文件中,该文件位于<project root>/ios/Runner/Info.plist

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

此项允许您的应用通过URL访问视频文件.

Android #

确保您的Android Manifest文件位于<project root>/android/app/src/main/AndroidManifest.xml ,并具有以下权限:

<uses-permission android:name="android.permission.INTERNET"/>

Flutter项目模板将其添加,因此它可能已经存在.

Web #

0.10.50.10.5 ,此插件针对Web平台进行编译,在最近足够的Flutter版本中( >=1.12.13+hotfix.4 ).

该网络平台 suppport dart:io ,所以应避免使用VideoPlayerController.file该插件构造函数. 使用构造函数尝试创建一个VideoPlayerController.file ,该文件将抛出UnimplementedError .

不同的Web浏览器可能具有不同的视频播放功能(支持的格式,自动播放...). 检查package:video_player_web以获取更多特定于Web的信息.

Supported Formats #

  • 在iOS上,后备播放器是AVPlayer . 支持的格式因iOS版本而异, AVURLAsset类具有audiovisualTypes ,您可以查询支持的av格式.
  • 在Android上,后备播放器是ExoPlayer ,有关支持的格式列表,请参阅此处 .
  • 在Web上,可用的格式取决于用户的浏览器(供应商和版本). 检查package:video_player_web了解更多具体信息.

Example #

import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';

void main() => runApp(VideoApp());

class VideoApp extends StatefulWidget {
  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4')
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.initialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _controller.value.isPlaying
                  ? _controller.pause()
                  : _controller.play();
            });
          },
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }
}
304
likes
110
pub points
99%
popularity

Publisher

flutter.dev

Flutter插件,用于在Android和iOS上与其他Flutter小部件一起显示嵌入式视频.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD( 许可

Dependencies

flutter, meta, video_player_platform_interface, video_player_web

More

Packages that depend on video_player

by  ICOPY.SITE