我将屏幕的三个区域定义为“热点”,因此如果检测到任何触摸,它会播放特定于区域的声音。一切都很好,除了如果我单击区域 1 然后单击区域 2,区域 2 的声音会切断区域 1。我希望播放任何区域的声音直到完成。因此,如果我单击区域 1,然后单击区域 2,区域 1 的声音将继续播放,区域 2 将在区域 1 上播放。
这是我目前拥有的代码(工作正常,但不允许音频重叠):
if(point.y < 316 && point.y > 76 && point.x < 220 && point.x > 200)
{
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/sound1.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
}
if(point.y < 316 && point.y > 76 && point.x < 260 && point.x > 240)
{
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/sound2.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
}
if(point.y < 316 && point.y > 76 && point.x < 300 && point.x > 280)
{
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/sound3.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
}
有人可以帮我弄清楚如何使这些声音重叠吗?谢谢!