2011-01-08 105 views
0

我正在爲iPod建立應用程序。 運行它時,本地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。

非常感謝, 喬治

回答

1

您必須設置AVAudioSession使用環境類。這告訴系統你的聲音應該與任何已經播放的聲音混合。在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]; 
} 

閱讀音頻會話。如果你的應用產生聲音,你總是想要意識到並控制你的音頻會話。

相關問題