iOS:在其他应用程序播放时播放声音

iOS:在其他应用程序播放时播放声音,ios,audio,avaudioplayer,Ios,Audio,Avaudioplayer,在我的应用程序中,我需要播放警报声音。 如果另一个应用程序(如spotify)正在运行,当我运行代码时,每当警报声响起时,它就会停止spotify播放的音乐。 有没有办法避免这种情况 这是我的播放声音代码: - (void)playSendSound { NSString* path; NSURL* url; path = [[NSBundle mainBundle] pathForResource:@"soundBit" ofType:@"aif"]; url

在我的应用程序中,我需要播放警报声音。 如果另一个应用程序(如spotify)正在运行,当我运行代码时,每当警报声响起时,它就会停止spotify播放的音乐。 有没有办法避免这种情况

这是我的播放声音代码:

- (void)playSendSound
{
    NSString* path;
    NSURL* url;

    path = [[NSBundle mainBundle] pathForResource:@"soundBit" ofType:@"aif"];
    url = [NSURL fileURLWithPath:path];
    player = nil;
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
    [player play];
}

您正在使用
AVAudioPlayer
播放警报声音,并确保它将停止播放任何音乐

将代码修改为以下内容:

NSString* path;
NSURL* url;

path = [[NSBundle mainBundle] pathForResource:@"soundBit" ofType:@"aif"];
url = [NSURL fileURLWithPath:path];
player = nil;
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
NSError *error = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
[player play];
这将防止播放警报声音时播放的声音停止


希望这能有所帮助。

你怎么知道spotify等其他应用程序正在运行?当我运行该应用程序(无论是否通过xcode)并且spotify正在后台播放时,它停止了spotify发出的声音…非常感谢!我将很快进行测试,因为我的服务器现在已关闭:(