【问题标题】:Is it possible to test iOS4 multitasking/background music playing on the simulator?是否可以在模拟器上测试 iOS4 多任务/背景音乐?
【发布时间】:2011-03-12 06:24:35
【问题描述】:

我在 Info.plist 中添加了 UIBackgroundModes 属性以具有“audio”的数组条目,并添加了设置音频会话的调用:[session setCategory: AVAudioSessionCategoryPlayback error: &error];

但是,我唯一的测试设备是不支持多任务处理的 iPod Touch 2G。我试过模拟器,但是当我切换到 Safari 时音乐停止播放。但是当我切换回我的应用程序时,歌曲继续播放到比我离开应用程序时更远的位置。

它似乎在后台继续播放,但我在使用另一个应用程序 (Safari) 时没有听到我的应用程序的音频。

【问题讨论】:

  • 我也想知道。如果我们可以在模拟器中测试多任务处理,是否可以使用 apns 徽章更新

标签: ios-simulator avaudioplayer multitasking


【解决方案1】:

这对我来说甚至在设备上也有效。

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioPlayer play];

这和设置 info.plist 键以启用背景音频是在 iPhone 应用程序中启用背景音频播放所需要的。但是,如果您希望播放一系列音频文件,则需要将每个播放操作作为后台任务执行,如下所示:

UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:nil];

执行必要的操作:

[[UIApplication sharedApplication] endBackgroundTask:bgTask];

【讨论】:

    【解决方案2】:

    iPhone 模拟器不支持背景音频。 资料来源:WWDC 2010,Session 109 - 采用多任务处理第 2 部分。

    【讨论】:

      【解决方案3】:

      我也有同样的问题。在模拟器中,音频暂停,当您重新启动它时,它会恢复播放。但是在设备上测试它运行良好,并且音频继续在后台播放。我使用的示例代码是

      AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
      [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
      [audioPlayer play];
      

      【讨论】:

      • 我看到了同样的行为。在 iPhone 4 上运行的代码将在模拟器中静默推进。
      • 我想提一下,这也适用于支持流媒体的 AVPlayer 类。设置类别将使音频流应用程序在设备锁定或应用程序暂停时继续播放。很有帮助。
      • 我必须编辑 MyApp-info.plist 才能让它工作。在此处查看详细信息crocodella.com.br/2011/01/…
      • 要在后台使用一系列文件,必须在各自的地方添加这两个方法:[[UIApplication sharedApplication] beginReceivingRemoteControlEvents][[UIApplication sharedApplication] endReceivingRemoteControlEvents]
      【解决方案4】:

      你是否在 info.plist 中添加了必需的后台模式键... 如果没有尝试添加这个... 转到 info.plist 文件并单击添加,添加“必需的背景模式”,单击一个小三角形,您将在添加“应用程序播放音频”中获得 item0... 这工作正常...

      ~拉维拉贾

      【讨论】:

      • 是的,我在问题中提到了这一点。您是否碰巧有可以在包含正确设置的模拟器上运行的示例项目?谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多