使用better_player在android上的flutter应用程序上播放视频导致了此错误



非致命异常:io.flutter.plugins.firebase.crashlytics.flutter错误:PlatformException(错误,MediaSource.Factory#setDrmSessionManagerProvider不再处理通过实例化新的DefaultDrmSessionManagerProvider为null。显式构造并传递实例以保留旧实例行为null,java.lang.NullPointerException:MediaSource.Factory#setDrmSessionManagerProvider不再处理通过实例化新的DefaultDrmSessionManagerProvider为null。显式构造并传递实例以保留旧实例行为

它以前可以工作,但现在由于exoPlayer而失败。知道怎么解决这个问题吗?

当我向pubpsec.yaml添加另一个音频包时发生了这种情况,所以我删除了最后添加的音频包并运行flutter clean,然后它再次正常工作

如果在项目中添加了chewievideo_player,请删除它们并尝试。

有人在这个问题中对此进行了修复,但它仍然没有合并。更新并修复BUG java.lang.NullPointerException:MediaSource.Factory#setDrmSessionManagerProvider#1085

对于Android错误,它告诉您需要在项目中启用multiDex,以下是

android/app/build.gradle中,将该行multiDexEnabled = true添加到defaultConfig

你的defaultConfig应该看起来像这个

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.test.test"
minSdkVersion 21
targetSdkVersion 30
multiDexEnabled = true
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

关于iOS错误,它说

找到了依赖项,但它们需要更高的最低部署目标。

从而增加最小部署目标。你可以在名为MinimumOSVersionios/flutter/AppFrameworkInfo.plist中找到它,看起来像这个

<key>MinimumOSVersion</key> 
<string>9.0</string>

最新更新