2011-01-08 1 views
0

Je suis en train de créer une application pour iPod. Lors de l'exécution, l'application de musique iPod native devrait continuer à jouer en arrière-plan, mais ce n'est pas le cas.iPod - Laisser l'application de musique native jouer le son en arrière-plan

Je pense que cela pourrait avoir quelque chose à voir avec le son qu'il est joué par mon application. Pour jouer un son court à un certain moment, j'utilise AVAudioPlayer. Le code ressemble à ceci:

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

Cela peut-il interférer avec le lecteur de musique natif sur l'iPod? Et une autre chose. Dans mon application, j'ai intégré AdWhirl et il semble utiliser AudioToolbox.

Merci beaucoup, George

Répondre

1

Vous devez configurer votre AVAudioSession utiliser la catégorie ambiante. Cela indique au système que votre son devrait se mélanger avec n'importe quel son en cours de lecture. La meilleure façon de faire cela dans iOS 4 est dans le délégué de l'application, comme ceci:

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

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

Lire sur les sessions audio. Si votre application produit du son, vous devez toujours être conscient de et contrôler votre session audio.