我需要更改应用程序,以便下载最新的Xcode 4.5和iOS 6 SDK.但是当我构建应用程序并将其部署到我的iPhone 4s时,当手机被锁定时,HTML 5音频将无法播放.
我尝试升级应用程序以使用PhoneGap 2.1.0,但当手机被锁定时,应用程序仍然无法播放音频. (这是我服务器的mp3文件流.)
这一切在模拟器中都可以正常工作,但在运行iOS 6的iPhone 4上无法正常工作.
我有必要的背景模式设置为应用播放音频和应用程序不在后台运行=是.以前在iOS 5.1下工作但在iOS 6下没有.我也尝试修改一些推荐的sound.mfile.即使我不需要在iOS 5.1下执行此操作
我已经尝试了一些我在互联网上找到的例子,但似乎没有一个在iOS 6中工作.并且允许HTML 5音频在手机锁定的情况下流入.
当iPhone在PhoneGap 1.8.1或2.1下的iOS 6中被锁定时,我需要做什么才能播放HTML 5音频?
解决方法
这不是你想要的反面吗?也许尝试删除该密钥并将UIBackgroundModes设置为音频?
编辑:
看来,从iOS 6开始,你的应用程序必须将AVAudioSessionCategory设置为AVAudioSessionCategoryPlayback才能在后台播放音频. PhoneGap / Cordova在您使用PhoneGap / Cordova Media API时执行此操作,但在使用HTML5音频时,它永远不会被设置.
我使用我的ExampleHTML5AudioStreaming项目测试并添加了UIBackgroundModes – >仅限音频,但在AppDelegate.m文件中(在ProjectName / Classes下)将AVAudioSessionCategory显式设置为AVAudioSessionCategoryPlayback.
我首先在AppDelegate中导入了AVFoundation:
#import <AVFoundation/AVFoundation.h>
然后我在应用程序中添加了以下内容:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
AVAudioSession *audioSession = [AVAudioSession sharedInstance]; BOOL ok; NSError *setCategoryError = nil; ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
根据这个答案:https://stackoverflow.com/a/12414719/878602
然后按预期在后台播放音频.
看起来Cordova没有为此提出任何错误.我会看看我是否可以提出一个.