使用 Appcelerator 在 iOS 退出应用程序时,音频不在后台播放

Audio not playing in background when app exits on iOS with Appcelerator

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

这对我来说很重要。

所以我正确地(我认为)设置了我的 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

谢谢

西蒙

试试这个:

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

我也花了很多时间在这上面。我必须做两件事。

  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 值放入数组中才能使其正常工作。)