дольше пяти секунд звучит iphone - PullRequest
3 голосов
/ 30 мая 2009

Привет всем. Ниже приведен код, который я использую для воспроизведения случайных звуков на симуляторе iPhone. Некоторые из 30 или около того звуков не будут воспроизводиться, и после некоторых исследований я обнаружил, что те, которые не воспроизводились, были длиннее пяти секунд. Кто-нибудь знает, почему это? Заранее спасибо за помощь!

NSString *path = [[NSBundle mainBundle] pathForResource:sound ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound (soundID);

Ответы [ 2 ]

3 голосов
/ 30 мая 2009

Я считаю, что для воспроизведения звука с использованием AudioServicesPlaySystemSound есть ограничение в 5 секунд (хотя в некоторых версиях документации указывается 30 секунд).

Альтернативами являются openAL и Audio Queues. Здесь есть полезное руководство по openAL: http://benbritten.com/blog/2008/11/06/openal-sound-on-the-iphone/

2 голосов
/ 31 мая 2009

Ограничение должно быть только в iPhone Simulator, а не на устройстве. На устройстве AudioServicesPlaySystemSound должен воспроизводить звуки до 30 секунд.

Я считаю, что формат звука / сжатие - это то, что вызывает «искусственное» ограничение в 5 секунд. Используйте afconvert на терминале для преобразования звуков в предложенные Apple форматы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...