Giter Site home page Giter Site logo

vimeo_player's Introduction

vimeoplayer

Since ^0.2.0 plugin supports null-safety and flutter 2. For previous versions use version ^0.1.8

A new Flutter package for playing any videos from Vimeo by ID.

Functions:

  • Download video from link
  • Quality change
  • Responsive full screen
  • Pause and play
  • Rewind
  • Double tap rewind

Getting Started

Installation

First, add vimeoplayer as a dependency in your pubspec.yaml file.

iOS

Warning: The video player is not functional on iOS simulators. An iOS device must be used during development/testing.

Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist:

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

This entry allows your app to access video files by URL.

Android

Ensure the following permission is present in your Android Manifest file, located in <project root>/android/app/src/main/AndroidManifest.xml:

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

The Flutter project template adds it, so it may already be there.

Supported Formats

On iOS, the backing player is AVPlayer. The supported formats vary depending on the version of iOS, AVURLAsset class has audiovisualTypes that you can query for supported av formats. On Android, the backing player is ExoPlayer, please refer here for list of supported formats. On Web, available formats depend on your users' browsers (vendor and version). Check package:video_player_web for more specific information.

Example

import 'package:vimeoplayer/vimeoplayer.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      //primarySwatch: Colors.red,
      theme: ThemeData.dark().copyWith(
        accentColor: Color(0xFF22A3D2),
      ),
      home: VideoScreen(),
    );
  }
}

class VideoScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        resizeToAvoidBottomPadding: false,
        backgroundColor: Color(0xFF15162B), //FF15162B // 0xFFF2F2F2
        appBar: MediaQuery.of(context).orientation == Orientation.portrait
            ? AppBar(
                leading: BackButton(color: Colors.white),
                title: Text('Название видео'),
                backgroundColor: Color(0xAA15162B),
              )
            : PreferredSize(
                child: Container(
                  color: Colors.transparent,
                ),
                preferredSize: Size(0.0, 0.0),
              ),
        body: ListView(children: <Widget>[
          VimeoPlayer(id: '395212534', autoPlay: true),
        ]));
  }
}

vimeo_player's People

Contributors

aolychkin avatar ksydex avatar pr-1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vimeo_player's Issues

Web app not working

Copying the Example exactly or trying my own code the video never loads just shows the circular progress indicator.

Any help on this

VideoPlayer not rebuilding after setstate

I have video playlist that has the video id of vimeo when I click the desired video id and change it value via setstate the vimeoplayer doesn't reload and remains to the initial id.

Selecting 240p quality -> The getter 'inSeconds' was called on null.

The example app. Tested with video id == 552414513. All other quality settings work.

The following NoSuchMethodError was thrown building FutureBuilder<void>(dirty, dependencies: [MediaQuery], state: _FutureBuilderState<void>#bd405):
The getter 'inSeconds' was called on null.
Receiver: null
Tried calling: inSeconds

The relevant error-causing widget was
VimeoPlayer
When the exception was thrown, this was the stack
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      _VimeoPlayerState.build.<anonymous closure>    package:vimeoplayer/vimeoplayer.dart:128
#2      _FutureBuilderState.build    package:flutter/…/widgets/async.dart:773
#3      StatefulElement.build    package:flutter/…/widgets/framework.dart:4612
...

Null safety version - Flutter 2.0 > support

Hello,
This package is one of the dependencies that blocks my app from migrating to null safety. Is this in plan to release null safety version of this package?
I would appreciate if you would publish null safe version of this package.
Thank you.

Process finished with exit code 1

Because vimeoplayer 0.1.8 depends on http ^0.12.1 and no versions of vimeoplayer match >0.1.8 <0.2.0, vimeoplayer ^0.1.8 requires http ^0.12.1.
So, because news depends on both http ^0.13.4 and vimeoplayer ^0.1.8, version solving failed.
pub get failed (1; So, because news depends on both http ^0.13.4 and vimeoplayer ^0.1.8, version solving failed.)

Not working with Flutter 2.2.0 and http ^0.13.1

Current vimeoplayer 0.1.8 is not supporting Flutter 2.2.0 and http ^0.13.1. While building getting following errors.

Because vimeoplayer 0.1.8 depends on http ^0.12.1 and no versions of vimeoplayer match >0.1.8 <0.2.0, vimeoplayer ^0.1.8 requires http ^0.12.1.
So, because alpha depends on both http ^0.13.1 and vimeoplayer ^0.1.8, version solving failed.
pub get failed (1; So, because alpha depends on both http ^0.13.1 and vimeoplayer ^0.1.8, version solving failed.)

No 'Access-Control-Allow-Origin' header is present on the requested resource.

vimeoplayer-flutter

When developing for flutter web no videos will load, because vimeo does not send an Access-Control-Allow-Origin header with the /config endpoint. i.e. https://player.vimeo.com/video/395212534/config.

When running the application on a domain with https enabed i.e. https://5e4f23850498.ngrok.io, the same error occurs.

I am using the code from the example:
VimeoPlayer(id: '395212534', autoPlay: true),

Is there any workaround for this problem?

How to Download video?

@aolychkin Hey, Can you please tell me how can i download the video using vimeoid in flutter?

I have seen in docs.There is mentioned download is supported using link. Can't find any example/method?
Functions:
Download video from link
Quality change
Responsive full screen
Pause and play
Rewind
Double tap rewind

doesn't support null safety

Because vimeoplayer 0.1.8 doesn't support null safety and no versions of vimeoplayer match >0.1.8 <0.2.0, vimeoplayer ^0.1.8 is forbidden.
So, because trainsolo depends on vimeoplayer ^0.1.8, version solving failed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.