Search code examples
iphoneiosaudioipod

Is it possible to play sounds without stopping iPod music?


Is it possible to play sounds within an app without stopping iPod music?

Right now I'm using the following, but it stops iPod music

soundPath =[[NSBundle mainBundle] pathForResource:@"mySound" ofType:@"mp3"];
soundURL = [NSURL fileURLWithPath:soundPath];   
mySound = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:nil];
[mySound prepareToPlay];

and then

[mySound play];

Solution

  • Yes you can, you could use the following code

    // setup session correctly
    AVAudioSession *audiosession = [AVAudioSession sharedInstance];
    [audiosession setCategory:AVAudioSessionCategoryPlayback error:nil];
    OSStatus propertySetError = 0;
    
    UInt32 mixingAllow = true;
    propertySetError = AudioSessionSetProperty ( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof (mixingAllow),&mixingAllow);
    
    NSError *error = nil;
    [audiosession setActive:YES error:&error];
    
    // play sound
    NSURL *url = [NSURL fileURLWithPath:filePath];
    AVAudioPlayer *audioplayer = [[[AVAudioPlayer alloc] initWithContentsOfURL:url error:&;error]autorelease];