开始播放时声音随机中断

我从下面的代码调用playSoundFromBundle来播放声音(aif文件)。我有一个声音,只需单击一下,然后褪色声。两种声音都在同一个文件中。有时我会得到两次点击,然后是淡入淡出。意思是,单击,单击...淡出。单击不是应该播放的内容。我猜测声音开始(单击声音),被中断然后重新启动(完整声音...单击/淡入淡出),因为可能正在进行其他处理。它会发生时似乎是随机的。我把声音放在自己的线程上试图避免双击。还有什么我可以做的,以确保声音正确播放?
- (void) playSoundFromBundleThreaded:(NSArray*)arr{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *fileName = (NSString*)[arr objectAtIndex:0];
NSString *fileExt = (NSString*)[arr objectAtIndex:1];
NSError *err;
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource: fileName ofType: fileExt inDirectory:@"/"]] error: &err];
self.audioPlayer = newPlayer;
self.audioPlayer.numberOfLoops = 0;
self.audioPlayer.volume = .5;

if (self.audioPlayer == nil)
{
    NSLog(@"Problem initializing Sound - %@", [err description]);
}
else
{
    [self.audioPlayer play];
}
[newPlayer release];
[pool release];
}

- (void) playSoundFromBundle:(NSString*)fileName fileExtension:(NSString*)fileExt{
NSArray *arr = [NSArray arrayWithObjects:fileName, fileExt, nil];
[NSThread detachNewThreadSelector: @selector(playSoundFromBundleThreaded:) toTarget:self withObject:arr];
}
    
已邀请:
不知道这是否有用,但请查看音频会话的内容。它旨在管理诸如播放其他声音(例如音乐播放器)是否会中断应用程序中的音频之类的事情。     

要回复问题请先登录注册