Plugin video_player không thể phát video - Flutter

Oct 04 2020

Tôi đã cập nhật sự rung động của mình lên 1.22.0 và giờ đây video_player của tôi đã cho tôi lỗi Ngoại lệ. Nó đã hoạt động tốt trước khi tôi cập nhật bộ rung của mình lên 1.22.0.

Đây là lỗi của tôi:

E / flating (8545): [ERROR: flashing / lib / ui / ui_dart_state.cc (177)] Unhandled Exception: 'package: flashing / src / services / message_codec.dart': Xác nhận không thành công: dòng 111 pos 15: 'code ! = null ': không đúng. E /
flaming (8545): # 0 _AssertionError._doThrowNew (dart: core-patch / error_patch.dart: 46: 39) E / flashing (8545): # 1 _AssertionError._throwNew (dart: core-patch / error_patch.dart: 36: 5) E / flashing (8545): # 2
PlatformException mới (gói: flashing / src / services / message_codec.dart: 111: 15) E / flashing (8545): # 3 VideoPlayerApi.create (gói: video_player_platform_interface / messages .dart: 205: 13) E / rung (8545): E / rung (8545): # 4
MethodChannelVideoPlayer.create (gói: video_player_platform_interface / method_channel_video_player.dart: 46: 42) E / flashing (8545): # 5 VideoPlayerController.initialize (package: video_player / video_player.dart: 275: 45) E / flashing (8545): # 6 _ScreenBackgroundVideoState.initState (package: flow / widget / background / screen_background_video.dart: 17: 9) E / flashing (8545): # 7 StatefulElement._firstBuild (package: flashing / src / widgets / framework.dart: 4765: 58) E / flay (8545): # 8 ComponentElement.mount (gói: flay / src / widgets / framework.dart: 4601: 5) E / flashing (8545): # 9 Element.inflateWidget (gói: flay / src / widgets / framework .dart: 3569: 14) E / flashing (8545): # 10 MultiChildRenderObjectElement.mount (gói: flay / src / widgets / framework.dart: 6236: 32) E / flay (8545): # 11 Element.inflateWidget (gói : flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 12 Element.updateChild (gói: flay / src / widgets / framework.dart: 3327: 18) E / flashing (8545) : # 13 SingleChildRenderObjectElement. mount (package: Flagship / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 14 Element.inflateWidget (package: flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 15 Element.updateChild (gói: Flagship / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 16 ComponentElement.performRebuild (package: flaming / src / widgets / framework.dart : 4652: 16) E / flay (8545): # 17 Element.rebuild (gói: Flagship / src / widgets / framework.dart: 4343: 5) E / flay (8545): # 18 ComponentElement._firstBuild (gói: flaming /src/widgets/framework.dart:4606:5) E / flashing (8545): # 19 ComponentElement.mount (package: flashing / src / widgets / framework.dart: 4601: 5) E / flashing (8545): # 20 Element.inflateWidget (gói: flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 21 Element.updateChild (gói: flay / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 22 SingleChildRenderObjectElement.mount (package: flashing / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 23 Element.inflateW idget (gói: flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 24 Element.updateChild (package: flay / src / widgets / framework.dart: 3327: 18) (8545): # 25 SingleChildRenderObjectElement.mount (gói: flay / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 26 Element.inflateWidget (gói: flaming / src / widgets / framework.dart : 3569: 14) E / Flaming (8545): # 27 Element.updateChild (package: flashing / src / widgets / framework.dart: 3327: 18) E / flashing (8545): # 28 SingleChildRenderObjectElement.mount (package: flaming /src/widgets/framework.dart:6118:14) E / Flaming (8545): # 29 Element.inflateWidget (package: Flaming / src / widgets / framework.dart: 3569: 14) E / Flaming (8545): # 30 Element.updateChild (gói: Flagship / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 31 SingleChildRenderObjectElement.mount (package: flaming / src / widgets / framework.dart: 6118: 14) E / Flaming (8545): # 32 Element.inflateWidget (package: flashing / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 33 Element.updateChild (package: flay / src / widgets / framework.dart: 3327: 18) E / flashing (8545): # 34 ComponentElement.performRebuild (package: flashing / src / widgets / framework.dart: 4652: 16) E / Flaming (8545): # 35 Element.rebuild (package: Flagship / src / widgets / framework.dart: 4343: 5) E / flashing (8545): # 36 ComponentElement._firstBuild (package: flaming / src / widgets / framework.dart: 4606: 5) E / flashing (8545): # 37 ComponentElement.mount (package: flashing / src / widgets / framework.dart: 4601: 5) E / flashing (8545): # 38 Element.inflateWidget ( package: Flagship / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 39 Element.updateChild (package: flay / src / widgets / framework.dart: 3327: 18) E / flashing (8545 ): # 40 SingleChildRenderObjectElement.mount (gói: Flagship / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 41 Element.inflateWidget (gói: flashing / src / widgets / framework.dart: 3569 : 14) E / Flaming (8545): # 42 Element.updateChild (package: Flaming / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 43 ComponentElement.performRebuild (gói: Flagship / src / widgets / framework.dart: 4652: 16)

Đây là mã của tôi:

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

class ScreenBackgroundVideo extends StatefulWidget {
  @override
  _ScreenBackgroundVideoState createState() => _ScreenBackgroundVideoState();
}

class _ScreenBackgroundVideoState extends State<ScreenBackgroundVideo> {
  VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.asset('assets/vid/login.mp4')
      // set background video using assets for login screen
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      }); // background video will play as soon as the splashscreen is closed
    _controller.play();
    _controller
        .setLooping(true); // looping set to true for the background video
    _controller.setVolume(0); // volume set to 0 for background video
  }

  @override
  void dispose() {
    super.dispose();
    // TODO: implement dispose
    _controller.dispose(); // Dispose the controller after play is done.
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      child: _controller.value.initialized
          ? AspectRatio(
              aspectRatio: _controller.value.aspectRatio,
              child: VideoPlayer(_controller),
            )
          : Container(),
    );
  }
}

Cần giúp đỡ để sửa lỗi này.

Trả lời

2 Jyo Oct 06 2020 at 06:45

Tôi đã phải hạ cấp phiên bản Flagship xuống 1.20.2 để video_player của tôi hoạt động.

Nếu có bất kỳ giải pháp nào khác, xin vui lòng cho tôi biết.

1 mithataydogmus Oct 06 2020 at 11:28

Ngoài ra, bạn có thể hạ cấp trình phát video xuống 0.10.11 + 2 thay vì hạ cấp rung nếu bạn không sử dụng bất kỳ tính năng mới nào bên trong plugin trình phát video.

Bạn có thể tìm thêm thông tin chi tiết tại đây: https://github.com/flutter/flutter/issues/66627

Nbn Dec 23 2020 at 07:23

Vấn đề tương tự, tôi vừa nâng cấp phiên bản Flagship 1.22.5 và nó hoạt động