AVAudioPlayer
дает вам несколько полезных свойств для работы:
Но прежде всего я бы написал несколько помощников для этого:
@interface Word {
double startTime;
double endTime;
}
@property double startTime;
@property double endTime;
@end
Это просто класс для простой работы со следующим методом.
- (void)playWord:(Word *)aWord {
self.avPlayer.playAtTime = aWord.startTime;
[avPlayer prepareToPlay];
[avPlayer play];
while (avPlayer.playing) {
/*
This while loop could be dangerous as it could go on for a long time.
But because we're just evaluating words, it won't be as much power draining
*/
if(avPlayer.currentTime >= aWord.endTime;
[avPlayer stop];
}
}
Я бы предложил вам использовать массив или любой другой механизм для автоматического переключения на следующее слово. Может быть, вы могли бы также добавить кнопки «Предыдущий» и «Следующий» для обработки пользовательского ввода.
Пожалуйста, дайте мне знать, если это сработало для вас.
НТН