使用 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;
});
我也花了很多时间在这上面。我必须做两件事。
- 将以下内容添加到我播放声音的控制器中:
if (OS_IOS) {
Ti.Media.audioSessionCategory = Ti.Media.AUDIO_SESSION_CATEGORY_PLAYBACK;
}
- 将以下内容添加到 tiapp.xml:
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
(请注意,我必须将 UIBackgroundModes
值放入数组中才能使其正常工作。)
我遇到了一个问题,当用户在设备上退出我的应用程序时,音频无法在后台模式下播放。它在模拟器上运行良好。
这对我来说很重要。
所以我正确地(我认为)设置了我的 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;
});
我也花了很多时间在这上面。我必须做两件事。
- 将以下内容添加到我播放声音的控制器中:
if (OS_IOS) { Ti.Media.audioSessionCategory = Ti.Media.AUDIO_SESSION_CATEGORY_PLAYBACK; }
- 将以下内容添加到 tiapp.xml:
<key>UIBackgroundModes</key> <array> <string>audio</string> </array>
(请注意,我必须将 UIBackgroundModes
值放入数组中才能使其正常工作。)