E / flutter (8743): [ОШИБКА: flutter / lib / ui / ui_dart_state. cc (157)] Необработанное исключение: MissingPluginException (Не найдена реализация для метода init на канале flutter.io/videoPlayer) E / flutter (8743): MethodChannel._invokeMethod (пакет: flutter / src / services / platform_channel.dart: 154: 7) E / flutter (8743): E / flutter (8743): # 1 MethodChannel.invokeMethod (пакет: flutter /src/services/platform_channel.dart:329:12)
Мой врач-флаттер-версия
[✓] Флаттер (Мастер канала, v1.16.4-pre. 18, Ma c OS X 10.15.3 19D76, язык en-GB) • Флаттер версии 1.16.4-pre.18 в / Users / olanrewaju / Dev / flutter • Редакция фреймворка c8efcb6 (6 дней go) , 2020-03-27 22:31:01 -0700 • Версия двигателя 3ee9e3d378 • Версия Dart 2.8.0 (сборка 2.8.0-dev.17.0 1402e8e1a4)
[✓] Android toolchain - разработка для Android устройства (Android SDK версия 29.0.2) • Android SDK в / Users / olanrewaju / Библиотека / Android / sdk • Android Местоположение NDK не c onfigured (необязательно; полезно для поддержки собственного профилирования) • Платформа android -29, инструменты сборки 29.0.2 • Java двоичный файл по адресу: / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java версия OpenJDK Runtime Environment (сборка 1.8.0_212-release-1586-b4-5784211) • Все лицензии Android приняты.
[✓] Xcode - разработка для iOS и macOS (Xcode 11.3.1) • Xcode в /Applications/Xcode.app/Contents/Developer • Xcode 11.3.1, сборка версии 11C504 • CocoaPods версия 1.8.4
[✓] Android Studio (версия 3.6) • Android Studio at / Applications / Android Studio.app/Contents • Плагин Flutter версии 44.0.2 • Плагин Dart версии 192.7761 • Java версия OpenJDK Runtime Environment (сборка 1.8.0_212-release-1586-b4-5784211)
[✓] IntelliJ IDEA Ultimate Edition (версия 2019.1) • IntelliJ at / Applications / IntelliJ IDEA.app • Версия плагина Flutter 34.0.4 • Версия плагина Dart 191.6183.88
[✓] Код VS (версия 1.41.1) • Код VS в / Приложения / Visual Studio Code.app/Contents • Расширение Flutter версии 3.8.1
[!] Подключенное устройство! Нет доступных устройств
Вы можете воспроизвести ошибку с помощью
main.dart
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(
'https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_30MB.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();
}
}
MainActivity.kt
import io.flutter.embedding.android.FlutterActivity
import android.content.pm.PackageManager
import android.os.Environment
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
import java.io.File
class MainActivity: FlutterActivity() {
private val CHANNEL = "com.test/test"
private val PERMISSION = 8798798
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL)
.setMethodCallHandler { call: MethodCall?, result: MethodChannel.Result? ->
if (call?.method == "testAction") {
result?.success("Test")
} else {
result?.notImplemented()
}
}
}
}
add video_player: ^0.10.8+1
в зависимости.
Видеопроигрыватель работает, если у меня нет какого-либо метода канала.