2011-01-08 13 views
0

Ich baue eine Anwendung für den iPod. Beim Ausführen sollte die native iPod Musik-App im Hintergrund wiedergegeben werden, aber dies geschieht nicht.iPod - Lassen Sie die native Musik-App im Hintergrund abspielen

Ich denke, es könnte etwas mit dem Sound zu tun haben, dass es von meiner App gespielt wird. Zum Abspielen eines kurzen Sounds an einem bestimmten Punkt verwende ich AVAudioPlayer. Der Code sieht so aus:

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

Könnte dies den nativen Musik-Player auf dem iPod stören? Und noch etwas. In meiner App habe ich AdWhirl integriert und es scheint, AudioToolbox zu verwenden.

Vielen Dank, George

Antwort

1

Sie müssen Ihre AVAudioSession verwenden, um die Umgebungs Kategorie eingerichtet. Dies sagt dem System, dass sich Ihr Sound mit jedem bereits spielenden Sound mischen sollte. Der beste Weg, dies in iOS zu tun ist, 4 in der app-Delegaten, wie folgt aus:

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

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

auf Audio Sessions Lesen auf. Wenn Ihre App Sound erzeugt, müssen Sie sich immer der bewusst sein und die Kontrolle über Ihre Audiositzung haben.