Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当iPhone使用PhoneGap 2.1.0和iOS 6锁定时,不会播放HTML 5音频MP3文件_Html_Audio_Cordova_Mp3_Ios6 - Fatal编程技术网

当iPhone使用PhoneGap 2.1.0和iOS 6锁定时,不会播放HTML 5音频MP3文件

当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上不起作用 我已将所需的

我有一个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下不工作。我还试图修改一些人推荐的
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];