-3

我正在构建我的第一个 ios 应用程序,我想在应用程序开始运行时播放 mp3 文件,当我更改页面时它仍然播放而不是重新加载开始播放。

谢谢!

4

1 回答 1

3

在 iOS 4.0 及更高版本中,您可以在后台运行音频。PhoneGap 目前不支持此功能,但您可以添加它。为此,您需要做两件事;在 info.plist 文件中添加一个项目,并在 PhoneGap 中添加一行代码。

在 info.plist 文件中,添加一个新的“必需的后台模式”键。该键将具有一系列选项。在该数组的“Item 0”中,将值设置为“App 播放音频”。

接下来,修改 ~/PhoneGapLib/Classes/Sound.m 文件。查找包含“if ([resourceURL isFileURL]) {”的行。它在第 103 行附近。就在该行的下方,在 if 语句中,您需要添加以下内容。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

因此,该部分代码将如下所示。

if ([resourceURL isFileURL]) {
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    audioFile.player = [[ AVAudioPlayer alloc ] initWithContentsOfURL:resourceURL error:&error];
} else {
    NSData* data = [NSData dataWithContentsOfURL:resourceURL];
    audioFile.player = [[ AVAudioPlayer alloc ] initWithData:data error:&error];
}

注意:有些用户无法找到 Sound.m 文件。它不在 XCode 项目本身中。您可以在 ~/PhoneGapLib/Classes/ 下的主目录 (~) 下找到它,或者您可以使用 Finder 搜索 Sound.m。右键单击它并在 XCode 中打开它。

于 2013-05-10T06:57:30.763 回答