Воспроизвести любой аудио за данное время - PullRequest
1 голос
/ 05 апреля 2010

Я хочу воспроизвести любой файл в течение 6 секунд. Также предположим, что звук больше 6 секунд, приложение будет воспроизводиться только в течение 6 секунд, а если оно меньше 6 секунд, то воспроизводится непрерывно. Так есть ли какой-либо встроенный вариант из какого-либо фреймворка?

Ответы [ 3 ]

0 голосов
/ 05 апреля 2010

Если вы используете AVAudioPlayer, отправьте сообщение -stop через 6 секунд:

NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:6
                               target:thePlayer selector:@selector(stop)
                                    userInfo:nil repeats:NO];

(Не забудьте аннулировать таймер, если игрок останавливается раньше.)

0 голосов
/ 28 апреля 2011

Если вы используете AVAudioPlayer, вы можете использовать NSTimer, как указано @Kenny.Просто добавить, чтобы добавить к этому ответу.

NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:6
                               target:thePlayer selector:@selector(stopPlayer)
                                    userInfo:nil repeats:NO];

- (void)stopPlayer
{
[audioPlayer stop];
}

Если продолжительность вашего аудиофайла составляет менее 6 секунд или желаемый лимит, вы должны продолжать играть правильно?поэтому вы должны установить numberOfLoops для экземпляра аудиоплеера, чтобы продолжить воспроизведение.Вот ссылка

0 голосов
/ 05 апреля 2010
...