Я пытаюсь воспроизводить непрерывные звуковые вырезки, когда касание перемещается по экрану iPhone.Существуют определенные звуковые обрезки в соответствии с областями экрана.Когда касание меняет свою область, предыдущий звук исчезает, и новый клип (новой области) исчезает. В методе - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
я обнаруживаю изменение области и вызываю метод [self playSoundForRect]
.Вот метод:
-(void)playSoundWithPath
{
[self fadeVolume];
NSString *audioPath;
switch (curRect) // curRect is the Currently entered region
{
case 1:
audioPath = [[NSBundle mainBundle] pathForResource:@"clip1" ofType:@"mp3"];
break;
case 2:
audioPath = [[NSBundle mainBundle] pathForResource:@"clip2" ofType:@"mp3"];
break;
case 3:
audioPath = [[NSBundle mainBundle] pathForResource:@"clip3" ofType:@"mp3"];
break;
case 4:
audioPath = [[NSBundle mainBundle] pathForResource:@"clip4" ofType:@"mp3"];
break;
default:
break;
}
theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:audioPath] error:NULL];
theAudio.delegate = self;
[theAudio play];
}
-(void)fadeVolume
{
if (theAudio.volume > 0.1)
{
theAudio.volume -= 0.1;
[self performSelector:@selector(fadeVolume) withObject:nil afterDelay:0.1];
}
else
{
[theAudio stop];
}
}
Но код работает неправильно.Как правильно смешивать входные и выходные клипы, чтобы они выглядели гладкими и непрерывными?Любые предложения приветствуются.