Не найдена реализация метода init на канале flutter.io/videoPlayer video_player 0.10.8 + 1 после создания собственного канала пользовательских методов - PullRequest
0 голосов
/ 05 апреля 2020

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 в зависимости.

Видеопроигрыватель работает, если у меня нет какого-либо метода канала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...