我构建了一个带有播放流的 Cordova 8 应用程序。如果应用在后台运行(设备处于睡眠状态(,则音频仍在播放,但在几分钟(4 或 5(后停止。
这只发生在 Android 上,播放器对象是索引.html文件中的音频元素。
仅当设备使用电池运行时,才会发生这种情况。看起来Android在睡眠和设备使用电池运行时将应用程序设置为待机状态。
如何预防这种情况?使用 cordova-plugin-media 不是解决方案,因为压缩流 (aac(。
您可以使用cordova-plugin-background-mode插件来阻止它 并将其添加到配置中.xml:
<config-file target="AndroidManifest.xml" parent="/manifest">
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
</config-file>