Flutter 視頻播放器不接受自簽名 https 連接 (Flutter video player wont accept self signed https connection)


問題描述

Flutter 視頻播放器不接受自簽名 https 連接 (Flutter video player wont accept self signed https connection)

我正在開發一個 Flutter 應用程序,該應用程序連接到使用自簽名 HTTPS 的雲中的資產。

在 Flutter 應用程序中,我使用的是來自以下庫的 Chewie 和 VideoPlayerController:

p>
import 'package:video_player/video_player.dart';
import 'package:chewie/chewie.dart';

視頻播放在遇到使用自簽名 SSL 證書的 HTTPS 資產時崩潰。我沒有看到任何忽略這個“問題”的選項。

這個錯誤有點籠統,但是當我切換回 HTTP 時,它工作得很好。這是我在使用自簽名 HTTPS 鏈接時從播放器收到的錯誤。

PlatformException: Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error

應該有某種方法可以使用自簽名 SSL,但我該怎麼做呢?


參考解法

方法 1:

Enable CleartextTraffic in Android manifest

// android:usesCleartextTraffic="true"

<application
        android:label="App Name"
        android:requestLegacyExternalStorage="true"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/launcher_icon">

方法 2:

Hi dan The VideoPlayer widget should support self signed SSL. There's plenty of use cases for not having a CA signed certificate.

I also have the same issue, resolved it by getting the proper CA Certificate and doing some Network security configuration in android folder, please check below link for Network security configuration https://developer.android.com/training/articles/security‑config#CustomTrust

(by DanBholendra SinghSelim Abdel Monsef)

參考文件

  1. Flutter video player wont accept self signed https connection (CC BY‑SA 2.5/3.0/4.0)

#dart #ssl-certificate #self-signed #html5-video #Flutter






相關問題

如何將數據傳遞給有狀態的小部件 (How to pass data to stateful widget)

顫振無線電值在步進器中沒有改變 (Flutter Radio Value not Changing in Stepper)

如何在顫動中製作響應式播放按鈕? (How to make a responsive play button in flutter?)

如何將數據數組轉換為在顫振/飛鏢中展開或折疊的小部件列表? (How to convert an array of data to a list of widgets with expand or fold in flutter/dart?)

Flutter - 迭代異步/未來列表 (Flutter - iterate over an asynchrous/future list)

使用顫振將圖像作為blob存儲在mysql數據庫中 (Storing image's as blob in mysql database with flutter)

如何在顫動中將視頻播放器浮動在 youtube 等所有頁面上? (How to float a video player over all pages like youtube in flutter?)

無法設置回調函數。錯誤說:“DropDown”必須有一個方法體,因為“ListLayout”不是抽象的 (Unable to set callback function . Error Says: 'DropDown' must have a method body because 'ListLayout' isn't abstract)

Flutter:如何在沒有評級動作的情況下實現評級欄 (Flutter : How to implement rating bar without rating action)

設置狀態內存洩漏 (set state memory leak)

Flutter 視頻播放器不接受自簽名 https 連接 (Flutter video player wont accept self signed https connection)

為什麼有時上下文被替換為下劃線或“_”? (Why sometimes context is being replace as underscore or "_"?)







留言討論