android - ionic /Android 8+ : Audio stops playing after about 5 mins when screen is locked

标签 android ionic-framework audio background android-8.0-oreo

我的应用程序使用 cordova-plugin-media 插件播放音乐。 cordova-plugin-background-mode 正在处理后台任务。

此代码块存在于我的 app.component.ts 中:

platform.ready().then(() => {
    this.backgroundMode.setDefaults({
      title: 'MyMusicApp',
        text: 'Android 8 problem!',
        resume: true,
        hidden: true,
        silent: true
    });
}

当媒体播放器提供者组件收到“播放”命令时,它会调用:

this.backgroundMode.enable();

在 Android 6 和 7 上,当屏幕锁定时,音频可以很好地在后台播放。但是,在 Android 8 上,每次,当屏幕锁定(或超时)时,大约 5 分钟后,背景音频将被切断。

据我了解,Android 8+ 正在使用新的实现来处理保持 Activity 状态或在后台使用资源的第 3 方应用程序。上面的解决方案是尝试解决这个截止问题,但它似乎没有帮助……

有人可以提供这方面的帮助吗?如何在 Android 8 上最好地处理背景音频?

最佳答案

我的应用程序也遇到了同样的问题。截至今天,根据我的经验,原始 cordova-plugin-background-mode不适用于目标 API 级别 26+ (Android 8+)。许多人 fork 该项目以进行他们自己的修复,其中一些很有可能会奏效。

至于我,我选择使用另一个插件:cordova-plugin-foreground-service .它适用于 Android 8+,但确实有效。

关于android - ionic /Android 8+ : Audio stops playing after about 5 mins when screen is locked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51910926/

相关文章:

android - 如何仅在退出应用程序时结束服务?

javascript - 从firebase数据库表中检索列表中的数据

javascript - 如何使用 typescript 在 Ionic 2.0 中包含 Angular 模式形式

php - 是否可以在PHP中将WAV文件转换为AIFF,反之亦然?

java - 为什么我的 InputStream 在 Android 中无法工作?

android - 使用 root 权限移除 KItKat 的短信限制

android - 从 .json 文件创建下拉菜单

javascript - Ionic 2 Angular 2 - 如何通过 Action Sheet 刷新当前页面的数据?

audio - 使用 ffmpeg 从视频中提取每个音频和字幕

python - 在 Python 中播放期间更改音频的音高(和速度)