【问题标题】:HTML 5 audio MP3 file not playing back when iPhone locked using PhoneGap 2.1.0 and iOS 6当 iPhone 使用 PhoneGap 2.1.0 和 iOS 6 锁定时,HTML 5 音频 MP3 文件不播放
【发布时间】:2012-10-07 16:12:36
【问题描述】:

我有一个 PhoneGap 应用程序,它是在 PhoneGap 1.8.1 下编写的,它在 iOS 5.1 下运行良好。

我需要更改应用程序,因此下载了最新的 Xcode 4.5 和 iOS 6 SDK。但是当我构建应用程序并将其部署到我的 iPhone 4s 时,手机锁定时 HTML 5 音频将无法播放。

我尝试升级应用程序以使用 PhoneGap 2.1.0,但当手机被锁定时,应用程序仍然无法播放音频。 (这是来自我的服务器的 mp3 文件流。)

在模拟器中一切正常,但在我运行 iOS 6 的 iPhone 4s 上却无法正常工作。

我已将必需的后台模式设置为应用程序播放音频并且应用程序不在后台运行 = 是。它曾经在 iOS 5.1 下工作,但在 iOS 6 下不工作。我还尝试修改一些人推荐的 sound.mfile。即使我在 iOS 5.1 下不需要这样做

我尝试了一堆我在互联网上找到的示例,但似乎没有一个在 iOS 6 中工作。并允许 HTML 5 音频在手机锁定的情况下流式传输。

当 iPhone 在 iOS 6 中的 PhoneGap 1.8.1 或 2.1 下锁定时,我需要做什么才能播放 HTML 5 音频?

【问题讨论】:

标签: html audio cordova mp3 ios6


【解决方案1】:

Application does not run in background = Yes 不会强制应用程序终止而不是在后台运行吗?

这不是你想要的相反吗?也许尝试删除该密钥并将UIBackgroundModes 设置为audio

编辑

似乎从 iOS 6 开始,您的应用程序必须将 AVAudioSessionCategory 设置为 AVAudioSessionCategoryPlayback 才能在后台播放音频。当您使用 PhoneGap/Cordova Media API 时,PhoneGap/Cordova 会执行此操作,但在使用 HTML5 音频时,它永远不会设置。

我使用我的ExampleHTML5AudioStreaming 项目进行了测试,并仅添加了UIBackgroundModes -> audio,但在AppDelegate.m 文件(在ProjectName/Classes 下)中明确将AVAudioSessionCategory 设置为AVAudioSessionCategoryPlayback

我首先在 AppDelegate 中导入了 AVFoundation:

#import <AVFoundation/AVFoundation.h>

然后我将以下内容添加到application:(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 提交错误。我看看能不能寄一份。

【讨论】:

  • 你会这么认为的。但我试着没有它,但它没有用。使用这种奇怪的设置,应用程序停止但音频在 iOS 5 中继续,但现在在 iOS 6 中它不起作用。我尝试了一些人们发布到 github 的示例项目,以了解如何在后台制作 HTML 5 音频,但其中一些在 iOS 6 中工作
  • 只是为了好玩,我再次尝试并删除了应用程序不再在后台运行。当您按下锁定按钮时,音频仍然会淡出。
  • 请在 iOS 6 及更高版本上查看此内容。stackoverflow.com/questions/3413258/…
  • 谢谢,我设法使用此信息使我的 HTML5 音频元素在后台/锁定模式下工作。
猜你喜欢
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 2018-01-29
相关资源
最近更新 更多