簡體   English   中英

flutter video_player 在發布模式下不播放視頻

[英]flutter video_player Not playing the video in release mode

我使用video_palyer: ^2.1.0視頻在調試模式下正常播放但是當我運行 release apk 視頻不播放

更新來自flutter_facebook_authflutter_facebook_login的問題當我刪除它們時視頻工作正常有沒有任何解決方案可以保留它們,因為我需要video_playerflutter_facebook_login

瞧,我的flutter doctor:

[√] Flutter(頻道開發,2.1.0-12.1.pre,在 Microsoft Windows [版本 10.0.19042.867],區域設置 en-US) • Flutter 版本 2.1.0-12.1.pre 在 8810375658src\388 Framework修訂版 8264cb3e8a(3 周前),2021-03-10 12:37:57 -0800 • 引擎修訂版 711ab3fda0 • Dart 版本 2.13.0(構建 2.13.0-116.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at C:\Users\DEVANDROID\AppData\Local\Android\sdk • Platform android-30, build-tools 30.0.3 • Java二進制文件位於:C:\Program Files\Android\Android Studio\jre\bin\java • Java 版本 OpenJDK 運行時環境(構建 1.8.0_242-release-1644-b01) • 接受所有 Android 許可證。

[√] Chrome - 為 web 開發 • Chrome 位於 C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio(版本 4.1.0) • Android Studio 位於 C:\Program Files\Android\Android Studio • Flutter 插件可以從以下位置安裝: https://plugins.jetbrains.com/18519685 •插件可以從以下位置安裝: https://plugins.jetbrains.com/plugin/6351-dart • Java 版 OpenJDK 運行時環境(build 1.8.0_242-release-1644-b01)

[√] VS Code(版本 1.54.3) • VS Code 位於 C:\Users\DEVANDROID\AppData\Local\Programs\Microsoft VS Code • Flutter 擴展版本 3.20.0

[√] 已連接設備(3 個可用) • EML L29(移動設備) • UBV7N18A12004906 • android-arm64 • Android 10 (API 29) • Chrome(網絡) • chrome • web-javascript • Google Chrome 89.0.4389.114 • Edge(網絡) • edge • web-javascript • Microsoft Edge 89.0.774.63

• 沒有發現問題! 進程結束,退出代碼為 0

瞧我的代碼示例:

VideoPlayerController _controller;
  double width;
  double height;
  bool startedPlaying = false;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.asset('assets/video/successEqo.mp4');
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }


  Future<bool> started() async {
    _controller.setLooping(true);
    _controller.setVolume(1);
    await _controller.initialize();
    await _controller.play();
    startedPlaying = true;
    return true;
  }

  @override
  Widget build(BuildContext context) {
    width = MediaQuery.of(context).size.width;
    height = MediaQuery.of(context).size.height;
    return Material(
      color: Colors.transparent,
      child: Container(
        color: Colors.red,
        child: FutureBuilder<bool>(
          future: started(),
          builder: (BuildContext context, AsyncSnapshot<bool> snapshot) {
            if (snapshot.data == true) {
              return AspectRatio(
                aspectRatio: _controller.value.aspectRatio,
                child: VideoPlayer(_controller),
              );
            } else {
              return Center(child: const Text('waiting for video to load'));
            }
          },
        )

        ,
      ),
    );
  }

嘗試運行以下命令:

flutter build apk --release --split-per-abi

也許您需要向 AndroidManifest 添加權限?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM