Android 11媒体播放器不工作,Android SDK 30



升级到android 11 (API 30)后,我遇到了cordova-plugin-media的问题。它没有播放音频流…当我点击播放音频时,输出是:Error: 1(这是指MediaError)。Media_err_aborted = 1)我有一个应用程序建设者,其中20K的应用程序,依赖于这个插件(需要这个功能)-我不需要录音和播放。我们使用web流,例如(-[(http://streams.radiobob.de/bob-chillout/aac-64/streams.radiobob.de/)])然后点击按钮播放这个音频流。这里是config.xml,我使用-

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:gap="http://phonegap.com/ns/1.0" id="app.*********" version="3.6.1" android-versionCode="30">
<name>******</name>
<description />
<author href="444656972743" email="">*********</author>
<preference name="orientation" value="portrait" />
<preference name="fullscreen" value="false" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="android-build-tool" value="gradle" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="AllowInlineMediaPlayback" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="android-minSdkVersion" value="22" />
<preference name="android-targetSdkVersion" value="30" />
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" 
/>
</feature>
<feature name="SocialSharing">
<param name="android-package" value="nl.xservices.plugins.SocialSharing" />
</feature>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
</feature>
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>
<feature name="PushPlugin">
<param name="android-package" value="com.plugin.gcm.PushPlugin" />
</feature>
<plugin name="cordova-plugin-keyboard" source="npm" spec="1.2.0" />
<plugin name="cordova-plugin-device" source="npm" spec="1.1.7" />
<platform name="android">
<preference name="AndroidXEnabled" value="true" />
<preference name="AndroidInsecureFileModeEnabled" value="true" />
<resource-file src="google-services.json" target="app/google-services.json" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<icon src="icons/android-ldpi.png" density="ldpi" />
<icon src="icons/android-mdpi.png" density="mdpi" />
<icon src="icons/android-hdpi.png" density="hdpi" />
<icon src="icons/android-xhdpi.png" density="xhdpi" />
<icon src="icons/android-xxhdpi.png" density="xxhdpi" />
<icon src="icons/android-xxxhdpi.png" density="xxxhdpi" />
<icon src="icons/android-xxhdpi.png" density="fr-xxhdpi" />
<splash src="splashscreen/android-ldpi.png" density="ldpi" />
<splash src="splashscreen/android-mdpi.png" density="mdpi" />
<splash src="splashscreen/android-hdpi.png" density="hdpi" />
<splash src="splashscreen/android-xhdpi.png" density="xhdpi" />
<splash src="splashscreen/android-xxhdpi.png" density="fr-xhdpi" />
<splash src="splashscreen/android-xxhdpi.png" density="land-xxhdpi" />
<splash src="splashscreen/android-xxhdpi.png" density="port-xxhdpi" />
<splash src="splashscreen/android-xxxhdpi.png" density="xxxhdpi" />
<preference name="KeepRunning" value="true" />
</platform>
<access origin="*" subdomains="true" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-navigation href="https://www.youtube.com/*" />
<allow-navigation href="http://www.youtube.com/*" />
<allow-navigation href="https://player.vimeo.com/*" />
<allow-navigation href="http://player.vimeo.com/*" />
<plugin name="cordova-plugin-media" spec="~5.0.3">
<variable name="KEEP_AVAUDIOSESSION_ALWAYS_ACTIVE" value="NO" />
</plugin>
<plugin name="cordova-plugin-androidx-adapter" source="npm" spec="1.1.1" />
<plugin name="cordova-plugin-camera" source="npm" spec="4.0.3" />
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="4.0.0" />
<plugin name="cordova-plugin-globalization" source="npm" spec="1.0.9" />
<plugin name="cordova-plugin-network-information" source="npm" spec="2.0.1" />
<plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
<plugin name="cordova-plugin-x-socialsharing" source="npm" spec="6.0.0" />
<plugin name="cordova-plugin-dialogs" source="npm" spec="2.0.1" />
<plugin name="cordova-sqlite-evcore-extbuild-free" spec="0.14.0" source="npm" />
</widget>

我感谢任何解决方案或变通方法。

https://github.com/apache/cordova-plugin-media有一个新的更新来覆盖android 11+的保存文件路径问题。

如果你更新"/platforms/android/app/src/main/java/org/apache/cordova/media/AudioHandler.java"one_answers"/平台/android/app/src/main/java/org/apache/cordova/media/AudioPlayer.java"在你的项目中,它应该是工作的。

https://raw.githubusercontent.com/apache/cordova-plugin-media/4093f7e14fe65f94ffbef072ed188a0205e78a59/src/android/AudioHandler.java

https://raw.githubusercontent.com/apache/cordova-plugin-media/4093f7e14fe65f94ffbef072ed188a0205e78a59/src/android/AudioPlayer.java

我得到同样的错误。幸运的是,官方发布的cordova-plugin-media也解决了这个问题:

cordova-plugin-media@5.0.4

最新更新