fijkplayer 0.0.9

  • Readme
  • Changelog
  • Example
  • Installing
  • 91

fijkplayer ( Flutter 媒体播放器) #

pub package     Build Status    

您的支持是我们开发的动力。 欢迎Star,欢迎PR~。

一款支持 android 和 iOS 的 Flutter 媒体播放器插件,由 ijkplayer 底层驱动。通过纹理接入 Flutter 中。

README 其他语言版本: English, 简体中文.

文档 #

安装 #

在 flutter 项目配置文件 pubspec.yaml 中加入 fijkplayer 依赖。

  fijkplayer: ^0.0.9

基础用法 #

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

class VideoScreen extends StatefulWidget {
  final String url;

  VideoScreen({@required this.url});

  _VideoScreenState createState() => _VideoScreenState();

class _VideoScreenState extends State<VideoScreen> {
  final FijkPlayer player = FijkPlayer();


  void initState() {
    player.setDataSource(widget.url, autoPlay: true);

  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text("Fijkplayer Example")),
        body: Container(
          child: FijkView(
            player: player,

  void dispose() {

示例 #

demo app 在 example 文件夹中。

cd example && flutter run

iOS screenshots

ios_input       ios_video

android screenshots

android_home       android_video

ijkplayer 后端 #

项目中使用 ijkplayer 作为后端播放内核,在 Bilibili/ijkplayer 的基础上进行修改而来 befovy/ijkplayer ,主要增加对于 Flutter 纹理接入的支持。 修改后在 CocoaPods 和 进行了发布。


# support arm64 armv7 armv7s x86_64 i386
pod 'FIJKPlayer'
dependencies {
    // fijkplayer-full include the java lib and native shared libs for armv5 armv7 arm64 x86 x86_64
    implementation 'com.befovy.fijkplayer:fijkplayer-full:0.3.4'
    implementation 'com.befovy.fijkplayer:fijkplayer-full:0.3.4'

iOS 注意事项 #

Flutter 纹理接入的方式目前在 iOS 模拟器上不能工作,故视频播放器的图像只能在真机上显示出来,详情可查看 flutter/issues/14647。 当然如果不关注视频画面,比如播放音乐,在模拟器上调试是没问题的。

next #

0.0.9 #

  • update ijkplayer to f0.3.4
  • add RTSP support
  • decrease libary binary size

0.0.8 #

  • update ijkplayer to f0.3.3
  • fix reset bug, #26
  • Add doc website,
  • Add diagram about FijkState, update FijkState document

0.0.7 #

  • Update FijkView widget tree, add FijkFit (scaling mode)
  • fix pixelbuffer leak on iOS

0.0.6 #

  • FijkSourceType as a option argument

0.0.5 #

  • add FijkPanel (UI controller of video)

0.0.3 #

  • add more comment and update README

0.0.2 #

  • make iOS CocoaPods FIJKPlayer available

0.0.1 #

  • A usable music player plugin
  • Draw the video frame through surface for android


fijkplayer demo #

Demonstrates how to use the fijkplayer plugin.

Getting Started #

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Logo 通过 DesignEvo 设计制作

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  fijkplayer: ^0.0.9

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:fijkplayer/fijkplayer.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Feb 12, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.5
  • Flutter: 1.12.13+hotfix.7

Maintenance suggestions

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies