当iPhone使用PhoneGap 2.1.0和iOS 6锁定时,不会播放HTML 5音频MP3文件
我有一个PhoneGap应用程序,是我在PhoneGap 1.8.1下编写的,它在iOS 5.1下运行得非常好 我需要更改应用程序,以便下载最新的Xcode 4.5和iOS 6 SDK。但是,当我构建应用程序并将其部署到iPhone4S上时,当手机锁定时,HTML5音频将不会播放 我尝试升级应用程序以使用PhoneGap 2.1.0,但当手机被锁定时,应用程序仍无法播放音频。(这是来自我的服务器的mp3文件流。) 它在模拟器中运行良好,但在运行iOS 6的iPhone4S上不起作用 我已将所需的后台模式设置为应用程序播放音频,并且应用程序未在后台运行=是。它以前在iOS 5.1下工作,但在iOS 6下不工作。我还试图修改一些人推荐的当iPhone使用PhoneGap 2.1.0和iOS 6锁定时,不会播放HTML 5音频MP3文件,html,audio,cordova,mp3,ios6,Html,Audio,Cordova,Mp3,Ios6,我有一个PhoneGap应用程序,是我在PhoneGap 1.8.1下编写的,它在iOS 5.1下运行得非常好 我需要更改应用程序,以便下载最新的Xcode 4.5和iOS 6 SDK。但是,当我构建应用程序并将其部署到iPhone4S上时,当手机锁定时,HTML5音频将不会播放 我尝试升级应用程序以使用PhoneGap 2.1.0,但当手机被锁定时,应用程序仍无法播放音频。(这是来自我的服务器的mp3文件流。) 它在模拟器中运行良好,但在运行iOS 6的iPhone4S上不起作用 我已将所需的
sound.m
文件。即使在iOS 5.1下我不需要这样做
我在网上找到了很多例子,但是没有一个能在iOS 6上运行。并允许HTML5音频流在手机锁定
当iPhone被锁定在PhoneGap 1.8.1或2.1下的iOS 6中时,我需要做什么才能播放HTML 5音频?不
应用程序不在后台运行=是
强制应用程序终止,而不是在后台运行
这不正是你想要的吗?也许可以尝试删除该键,只需将ui背景模式
设置为音频
编辑:
似乎由于iOS 6,您的应用程序必须将AVAudioSessionCategory
设置为avaudiosessioncategorityplayback
,才能在后台播放音频。PhoneGap/Cordova在使用PhoneGap/Cordova媒体API时会这样做,但在使用HTML5音频时,它永远不会被设置
我使用我的项目进行了测试,只添加了UIBackgroundModes
->audio
,但在AppDelegate.m
文件(在ProjectName/Classes
下)中将AVAudioSessionCategory
显式设置为AVAudioSessionCategoryPlayback
我在AppDelegate中首次导入了AVFoundation:
#import <AVFoundation/AVFoundation.h>
根据这一回答:
音频然后按预期在后台播放
看起来科尔多瓦没有因为这个而留下任何虫子。我看看能不能住一间。你会这么想的。但我试着不去做,结果不起作用。使用这种奇怪的设置,应用程序会停止,但在iOS 5中音频会继续,但现在在iOS 6中它无法工作。我尝试了一些人们发布到github的关于如何在后台制作HTML5音频的示例项目,但其中一些项目是在iOS 6中工作的,只是为了好玩,我再次尝试并删除了该应用程序,但该应用程序不再在后台运行。当您按下锁定按钮时,音频仍会淡出。请参见iOS 6及更高版本。。谢谢,我用这些信息使我的HTML5音频元素在后台/锁定模式下工作。你试过了吗?
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
error:&setCategoryError];