Главная » iPhone » Аудиоконтроллер iPhone

0

Класс AVController устанавливает соединение с аудиодемоном iPhone. Кроме того, он отвечает за управление всем воспроизводимым через него звуком.

AVController можно рассматривать как фильтр, расположенный внизу вашего приложения iPod (панель, содержащая элементы управления воспроизведением. приостановкой, перемещением и уровнем громкости). Данный класс управляет всеми этими функциями, а также настройками эквалайзера, частотой звука и даже режимом повторения: AVController * av = [ [ AVController alloc ] init ];

Уровень громкости

Уровень громкости (volume) может быть настроен как для отдельной звуковой дорожки, так и для всего контроллера. Чтобы настроить его в контексте контроллера, вызовите метод AVController класса setvolume:

[ av setVolume: 1.0 ]

Уровень громкости является числом с плавающей запятой от 0.0 до 1.0. Для настройки громкости на уровне контроллера пользователю будет отображено диалоговое окно. Это очень удобно для управления запросами на подавление звука и т. п.

Настройка уровня громкости для отдельной звуковой дорожки будет показана в разд. "Аудиодорожки" daiee в этой главе.

Режим повторения

Чтобы указать контроллеру повторять звук после завершения воспроизведения, вызовите setRepeatMode, передав в качестве аргумента целое значение:

[ av setRepeatMode: 1 ];

Режим повторения (repeat mode) должен настраиваться после того, как начато воспроизведение звуковой дорожки. Существуют следующие режимы повторения:

?         0 — повторение отключено;

?          1 — повторение включено.

Несмотря на то, что режим повторения настраивается на уровне контроллера, повторяться будет только текущая звуковая дорожка, даже если в очереди на воспроизведение находятся еще и другие дорожки.

Частота звуковой дорожки

Частота звуковой дорожки (sample rate) — это частота воспроизведения, на которой должны воспроизводиться звуки. Она должна соответствовать той, на которой были первоначально записаны звуковые дорожки, и может быть установлена как вручную с помощью показанного здесь метода setRate, так и автоматически, не затрагивая этот параметр: NSError *err;

[ av setRate: 44100.0 error: &err ]; if (err != nil) {

NSLog(@"The following error has occured:              err);

}

v

Многие методы Celestial должны уметь сообщать об ошибке. Для этого применяется класс NSError. Он похож на объект NSString, являющийся стандартным для обеих операционных систем: iPhone и Mac OS X. Этот класс построен на базовом классе NSString и инкапсулирует дополнительную информацию, имеющую отношение к кодам ошибок. Более подробную информацию о NSError и NSString можно найти в справочнике, расположенном на Web-узле Apple Developer Connection.

Источник: Здзиарски Дж. iPhone. Разработка приложений с открытым кодом: Пер„с англ. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2009. — 368 е.: ил.

По теме:

  • Комментарии