【问题标题】:Audio not playing in background when app exits on iOS with Appcelerator当应用程序在 iOS 上使用 Appcelerator 退出时,音频不在后台播放
【发布时间】:2016-04-19 13:20:25
【问题描述】:

当用户在设备上退出我的应用时,我遇到了音频无法在后台模式下播放的问题。它在模拟器上运行良好。

我必须让这个工作正常。

所以我正确设置了我的 tiapp.xml(我认为):

<key>UIBackgroundModes</key>
<string>audio</string>

我在 app.js 中创建了一个全局音频播放器,如下所示:

Ti.App.audioPlayer = Ti.Media.createAudioPlayer({
   allowBackground: true
});

Ti.Media.audioSessionCategory = Ti.Media.AUDIO_SESSION_CATEGORY_PLAYBACK;

我添加了 allowBackground 选项,因为我们希望之后将其推出 Android。

还有其他原因导致这不起作用吗?快把我逼疯了!

我怀疑这可能是由于我设置的全局音频播放器导致的男生错误,但我不确定我做错了什么!

我正在使用 SDK 5.2.2.GA

谢谢

西蒙

【问题讨论】:

  • 也许在创建音频播放器之前尝试设置Ti.Media.audioSessionCategory
  • 不幸的是,没有任何区别

标签: ios appcelerator appcelerator-titanium


【解决方案1】:

我也为此花费了很长时间。我必须做两件事。

  1. 将以下内容添加到我正在播放声音的控制器中: if (OS_IOS) { Ti.Media.audioSessionCategory = Ti.Media.AUDIO_SESSION_CATEGORY_PLAYBACK; }
  2. 将以下内容添加到 tiapp.xml: <key>UIBackgroundModes</key> <array> <string>audio</string> </array>

(注意,我必须将 UIBackgroundModes 值放入一个数组中才能使其工作。)

【讨论】:

    【解决方案2】:

    试试这个:

    Titanium.App.addEventListener('pause', function(e) { Titanium.Media.audioSessionCategory = Titanium.Media.MUSIC_PLAYER_STATE_PLAYING; });

    【讨论】:

    • 我不得不将 audioPlayer 更改为 videoPlayer 以允许清理音频。这样还能用吗?
    猜你喜欢
    • 2014-06-11
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 2013-04-20
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    相关资源
    最近更新 更多