Background iPod-让本机音乐应用程序在后台播放声音
我正在为iPod构建一个应用程序。 运行时,本机iPod音乐应用程序应继续在后台播放,但不会发生这种情况 我想这可能与我的应用程序播放的声音有关。为了在某一点播放短声音,我使用了AVAudioPlayer。代码如下所示:Background iPod-让本机音乐应用程序在后台播放声音,background,audio,ipod,avplayer,Background,Audio,Ipod,Avplayer,我正在为iPod构建一个应用程序。 运行时,本机iPod音乐应用程序应继续在后台播放,但不会发生这种情况 我想这可能与我的应用程序播放的声音有关。为了在某一点播放短声音,我使用了AVAudioPlayer。代码如下所示: NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"]; NSLog(@"%@", path); player = [[AVAudioPlay
NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];
NSLog(@"%@", path);
player = [[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfFile:path] error:nil];
[player prepareToPlay];
[player play];
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
// ...
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// reactivate audio session
[[AVAudioSession sharedInstance] setActive: YES error: nil];
}
这会干扰iPod上的本地音乐播放器吗?
还有一件事。在我的应用程序中,我集成了AdWhirl,它似乎使用了AudioToolbox
非常感谢,
George您必须设置音频会话才能使用环境类别。这告诉系统您的声音应该与任何已经播放的声音混合。在iOS 4中执行此操作的最佳方法是在app delegate中,如下所示:
NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];
NSLog(@"%@", path);
player = [[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfFile:path] error:nil];
[player prepareToPlay];
[player play];
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
// ...
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// reactivate audio session
[[AVAudioSession sharedInstance] setActive: YES error: nil];
}
阅读音频会话。如果你的应用程序产生声音,你总是想意识到并控制你的音频会话