0

我正在为 iPod 构建一个应用程序。运行它时,本机 iPod 音乐应用程序应继续在后台播放,但这并没有发生。

我认为这可能与我的应用程序播放的声音有关。为了在某​​个点播放短声音,我使用的是 AVAudioPlayer。代码如下所示:

NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];
        NSLog(@"%@", path);
        player = [[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfFile:path] error:nil];
        [player prepareToPlay];
        [player play];

这会干扰 iPod 上的本地音乐播放器吗?还有一件事。在我的应用程序中,我集成了 AdWhirl,它似乎使用了 AudioToolbox。

非常感谢,乔治

4

1 回答 1

1

您必须设置您的 AVAudioSession 以使用 Ambient 类别。这告诉系统您的声音应该与任何已经播放的声音混合。在 iOS 4 中执行此操作的最佳方法是在应用程序委托中,如下所示:

- (void)applicationDidFinishLaunching:(UIApplication *)application {
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
    // ...
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // reactivate audio session
    [[AVAudioSession sharedInstance] setActive: YES error: nil];
}

阅读音频会话。如果您的应用程序产生声音,您总是希望意识到并控制您的音频会话。

于 2011-01-16T20:21:17.210 回答