【问题标题】:Background audio not work with Ionic3 + Videogular2 on iOS背景音频不适用于 iOS 上的 Ionic3 + Videogular2
【发布时间】:2018-02-07 19:54:51
【问题描述】:

我在 Angular/Cordova/Ionic3 项目中使用 Videogular2,我在其中播放 mp3 音频直播流。在浏览器和 iOS 模拟器上,一切都适用于 mp3 和 mp4。

当用户在 iOS 设备中锁定屏幕时,我希望音频继续在后台模式下播放,但在 IOS 上,当用户锁定屏幕时音频停止播放。

我已经在 XCODE 8 上测试了设置“功能”选项卡添加“音频”参数,我已经将 cordova-plugin-backgroundaudio 添加到项目中但没有成功。

在 iOS 模拟器上运行良好,问题仅出现在 iOS 设备上。 在 iPhone 6 和 iPad 3 上测试。

我正在使用:

  • iOS 10.3.3
  • XCODE 8.3.3
  • 离子 3.12.1
  • Videogular2 5.4.11

没有其他人在 cordova/ionic 上使用 videogular2?

【问题讨论】:

    标签: ios cordova ionic-framework audio-streaming videogular


    【解决方案1】:

    在 iOS 应用中,当设备被锁定时,音频不会在后台播放。为此,您必须为应用程序启用后台模式。我在我的一个应用程序中遇到了同样的问题(我使用了不同的音频插件)。

    为了在 iOS 中启用后台模式,您可以使用以下插件 https://ionicframework.com/docs/native/background-mode/。当您开始播放音频时,您只需调用 backgroundMode.enable() 以使其在后台播放。当您离开音频播放器页面时,如果需要,您可以禁用后台模式以避免通过调用 backgroundMode.disable() 不必要地保持后台模式。 此外,您需要在 xcode 项目设置中启用背景音频功能,如下链接所示。

    https://koenig-media.raywenderlich.com/uploads/2016/09/BM-EnableAudioInBG.png

    【讨论】:

    • 谢谢 SAJ,但我做到了,我已经在我的问题中写过,但我很抱歉这种误解:) 但是现在我尝试在 play( ) 功能,我会更新你
    • "当你开始播放音频时,你只需要调用 backgroundMode.enable()" 是关键! :-) 如果我在 api.play() 之前调用 backgroundMode.enable() 它可以工作。在我在应用程序 oninit 中调用它之前失败了,谢谢
    • 很好,我在不知不觉中以正确的方式做到了。我的想法是,如果用户还没有开始播放音频,我们就不需要不必要地启用后台模式。将来会记住这件事:) ..
    • 我尝试了所有你的建议,但我在 ios11 上仍然遇到同样的问题,它对你的 ios11 有效吗?
    • 不,我没有在 iOS 11 手机上测试过。
    猜你喜欢
    • 2015-12-20
    • 2020-07-02
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多