您的应用程序将在您停止播放音频文件后立即停止,因此第二个应用程序没有机会开始播放。
再初始化一个音频会话,它将循环播放一个简短的无声音频文件。您可以根据需要保留它。会话应该允许混合音频,这不会影响您的音频,因为音频文件是无声的。
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionSetActive(YES);
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 allowMixing = true;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixing), &allowMixing);
NSString* path = [[NSBundle mainBundle] pathForResource:@"silentAudio" ofType:@"m4a"];
NSURL* fileURL = [NSURL fileURLWithPath:path];
NSError* error = nil;
self.beatPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error];
if (error != nil)
{
//process the error
}
_beatPlayer.numberOfLoops = -1;
[_beatPlayer play];
停止播放也会停止应用程序线程:
[_beatPlayer stop];