AVAudioPlayer
Экземпляр AVAudioPlayer класс, названный аудиоплеером, обеспечивает воспроизведение аудиоданных от файла или памяти.
Apple рекомендует использовать этот класс для воспроизведения аудио, если Вы не играете аудио, полученное от сетевого потока, или требуете очень низкой задержки I/O. Для обзора аудио технологий посмотрите Аудио и Видео Начальную точку и Используя Аудио в Мультимедийном Руководстве по программированию.
Используя аудиоплеер Вы можете:
Звуки игры любой продолжительности
Игра звучит от файлов или буферов памяти
Звуки цикла
Играйте многократные звуки одновременно, один звук на аудиоплеер, с точной синхронизацией
Управляйте относительным уровнем воспроизведения, расположением стерео и скоростью воспроизведения для каждого звука, который Вы играете
Ищите на определенную точку в звуковом файле, поддерживающем такие функции приложения как ускоренная перемотка и перемотка
Получите данные, которые можно использовать для измерения уровня воспроизведения
AVAudioPlayer класс позволяет Вам играть звук в любом формате аудио, доступном в iOS и OS X. Когда звук закончил играть, Вы реализуете делегата, чтобы обработать прерывания (такие как входящий телефонный вызов на iOS) и обновить пользовательский интерфейс. Методы делегата описаны в Ссылке на протокол AVAudioPlayerDelegate.
Для игры приостановитесь, или остановите аудиоплеер, вызовите один из его методов управления воспроизведением, описанных в Конфигурировании и Управлении Воспроизведением.
Этот класс использует Objective C, объявил функцию свойств управления информацией о звуке — таком как точка воспроизведения во временной шкале звука, и для доступа к опциям воспроизведения — таким как объем и цикличное выполнение.
Для конфигурирования надлежащего аудио сеанса для воспроизведения на iOS обратитесь к Ссылке на протокол Ссылки класса и AVAudioSessionDelegate AVAudioSession. Чтобы изучить, как Ваш выбор форматов файлов влияет на одновременное воспроизведение многократных звуков, обратитесь к Аппаратным и программным Аудиокодекам iOS в Мультимедийном Руководстве по программированию.
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует и возвращает аудиоплеер для игры определяемого звукового файла.
Объявление
Swift
init!(contentsOfURLurl: NSURL!, erroroutError: NSErrorPointer)Параметры
urlURL, идентифицирующий звуковой файл для игры. Аудиоданные должны быть в формате, поддерживаемом Core Audio. Для списка поддерживаемых форматов посмотрите Используя Аудио в Мультимедийном Руководстве по программированию.
outErrorЕсли ошибка происходит по возврату
NSErrorобъект описывает ошибку. Набор кNULLпроигнорировать ошибки.Возвращаемое значение
На успехе, инициализированном
AVAudioPlayerобъект. Еслиnil,outErrorпараметр содержитNSErrorэкземпляр, описывающий проблему.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Инициализирует и возвращает аудиоплеер для игры определяемого буфера памяти.
Объявление
Swift
init!(datadata: NSData!, erroroutError: NSErrorPointer)Параметры
dataБлок данных, содержащий звук для игры. Аудиоданные должны быть в формате, поддерживаемом Core Audio. Для списка поддерживаемых форматов посмотрите Используя Аудио в Мультимедийном Руководстве по программированию.
outErrorЕсли ошибка происходит по возврату
NSErrorобъект описывает ошибку. Набор кNULLпроигнорировать ошибки.Возвращаемое значение
На успехе, инициализированном
AVAudioPlayerобъект. Еслиnil,outErrorпараметр содержитNSErrorэкземпляр, описывающий проблему.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Инициализирует и возвращает аудиоплеер с помощью указанного URL и подсказки типа файла.
Объявление
Параметры
urlURL, идентифицирующий звуковой файл для игры. Аудиоданные должны быть в формате, поддерживаемом Core Audio. Для списка поддерживаемых форматов посмотрите Используя Аудио в Мультимедийном Руководстве по программированию.
utiStringUTI, использующийся в качестве подсказки типа файла. Поддерживаемые UTIs определяются в
File Format UTIs.outErrorЕсли ошибка происходит по возврату
NSErrorобъект описывает ошибку. Набор кNULLпроигнорировать ошибки.Возвращаемое значение
На успехе, инициализированном
AVAudioPlayerобъект. Еслиnil,outErrorпараметр содержитNSErrorэкземпляр, описывающий проблему.Обсуждение
utiStringподсказка типа файла говорит синтаксический анализатор, какие звуковые данные для ожидания так, чтобы файлы, которые не являются сам идентификация, или возможно даже повреждают, могут быть успешно проанализированы.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.9 и позже.
-
Инициализирует и возвращает аудиоплеер с помощью указанных данных и подсказки типа файла.
Объявление
Параметры
dataОбъект данных, содержащий аудио.
utiStringUTI, использующийся в качестве подсказки типа файла. Поддерживаемые UTIs определяются в
File Format UTIs.outErrorЕсли ошибка происходит по возврату
NSErrorобъект описывает ошибку. Набор кNULLпроигнорировать ошибки.Возвращаемое значение
На успехе, инициализированном
AVAudioPlayerобъект. Еслиnil,outErrorпараметр содержитNSErrorэкземпляр, описывающий проблему.Обсуждение
utiStringподсказка типа файла говорит синтаксический анализатор, какие звуковые данные для ожидания так, чтобы данные, которые могут возможно быть повреждены, могут быть успешно проанализированы.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.9 и позже.
-
Играет звук асинхронно.
Объявление
Swift
func play() -> BoolObjective C
- (BOOL)playВозвращаемое значение
Возвраты
YEStrueна успехе, илиNOfalseпри отказе.Обсуждение
Вызов этого метода неявно вызывает
prepareToPlayметод, если аудиоплеер уже не подготовлен играть.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Играет звук асинхронно, запускающийся в указанной точке во временной шкале устройства аудиовыхода.
Объявление
Swift
func playAtTime(_time: NSTimeInterval) -> BoolObjective C
- (BOOL)playAtTime:(NSTimeInterval)timeПараметры
timeЧисло секунд для задержки воспроизведения, относительно текущего времени устройства аудиовыхода. Например, для запуска воспроизведения три секунды в будущее со времени Вы вызываете этот метод, используете код как это:
NSTimeInterval playbackDelay = 3.0; // must be ≥ 0[myAudioPlayer playAtTime: myAudioPlayer.deviceCurrentTime + playbackDelay];
Возвращаемое значение
YEStrueна успехе, илиNOfalseпри отказе.Обсуждение
Используйте этот метод для точной синхронизации воспроизведения два или больше
AVAudioPlayerобъекты. Этот фрагмент кода показывает рекомендуемый способ сделать это:// Before calling this method, instantiate two AVAudioPlayer objects and// assign each of them a sound.- (void) startSynchronizedPlayback {NSTimeInterval shortStartDelay = 0.01; // secondsNSTimeInterval now = player.deviceCurrentTime;[player playAtTime: now + shortStartDelay];[secondPlayer playAtTime: now + shortStartDelay];// Here, update state and user interface for each player, as appropriate}
Для приобретения знаний о виртуальной временной шкале устройства аудиовыхода считайте описание для
deviceCurrentTimeсвойство.Вызов этого метода неявно вызывает
prepareToPlayметод, если аудиоплеер уже не подготовлен играть.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Воспроизведение пауз; звук остается готовым возобновить воспроизведение от того, где это кончило.
Объявление
Swift
func pause()Objective C
- (void)pauseОбсуждение
Вызов
pauseуезжает аудиоплеер подготовил играть; это не выпускает аудио аппаратные средства, полученные по вызовуplayилиprepareToPlay.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Воспроизведение остановок и отмены установка необходимы для воспроизведения.
Объявление
Swift
func stop()Objective C
- (void)stopОбсуждение
Вызов этого метода или разрешение звука закончить играть, отменяют установку, выполняемую по вызову
playилиprepareToPlayметоды.stopметод не сбрасывает значениеcurrentTimeсвойство к0. Другими словами, если Вы вызываетеstopво время воспроизведения и затем вызываютplay, воспроизведите резюме в точке, где она кончила.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Подготавливает аудиоплеер к воспроизведению путем предварительно загружения его буферов.
Объявление
Swift
func prepareToPlay() -> BoolObjective C
- (BOOL)prepareToPlayВозвращаемое значение
Возвраты
YEStrueна успехе, илиNOfalseпри отказе.Обсуждение
Вызов этого метода предварительные нагрузки буферизуют и получают аудио аппаратные средства, необходимые для воспроизведения, минимизирующего задержку между вызовом
playметод и запуск звукового вывода.Вызов
stopметод или разрешение звука закончить играть, отменяет эту установку.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Булево значение, указывающее, играет ли аудиоплеер (
YEStrue) или не (NOfalse). (только для чтения)Объявление
Swift
var playing: Bool { get }Objective C
@property(readonly, getter=isPlaying) BOOL playingОбсуждение
Узнать, когда воспроизведение остановило реализацию
audioPlayerDidFinishPlaying:successfully:метод делегата.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Громкость воспроизведения для аудиоплеера, в пределах от
0.0через1.0в линейной шкале.Объявление
Swift
var volume: FloatObjective C
@property float volumeОбсуждение
Значение
0.0указывает тишину; значение1.0(значение по умолчанию), указывает полный объем для экземпляра аудиоплеера.Используйте это свойство для управления объемом аудиоплеера относительно другого аудиовыхода.
Для обеспечения UI в iOS для корректировки системного объема воспроизведения аудио используйте
MPVolumeViewкласс, обеспечивающий управление воспроизведением носителей, которое ожидают пользователи и чье появление можно настроить.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
панорамирование панорамированиеСвойствоПозиция панорамирования аудиоплеера стерео.
Объявление
Swift
var pan: FloatObjective C
@property float panОбсуждение
Путем установки этого свойства можно расположить звук в стереополе. Значение
–1.0полон оставленный,0.0центр, и1.0полное право.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Скорость воспроизведения аудиоплеера.
Объявление
Swift
var rate: FloatObjective C
@property float rateОбсуждение
Значение по умолчанию этого свойства
1.0обеспечивает нормальную скорость воспроизведения. Доступный диапазон от0.5поскольку полускорость воспроизводит через2.0для воспроизведения с удвоенной скоростью.Для установки скорости воспроизведения аудиоплеера необходимо сначала включить корректировку уровня, как описано в
enableRateописание свойства.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.8 и позже.
-
enableRate enableRateСвойствоБулево значение, указывающее, включена ли корректировка скорости воспроизведения для аудиоплеера.
Объявление
Swift
var enableRate: BoolObjective C
@property BOOL enableRateОбсуждение
Для включения корректируемой скорости воспроизведения для аудиоплеера установите это свойство в
YEStrueпосле инициализации проигрывателя и перед вызовомprepareToPlayметод экземпляра для проигрывателя.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.8 и позже.
-
numberOfLoops numberOfLoopsСвойствоЧисло раз звук возвратится к началу, после достижения конца, для повторения воспроизведения.
Обсуждение
Значение
0, то, которое является значением по умолчанию, означает играть звук один раз. Установите положительное целочисленное значение для указания числа раз для возврата к запуску и игре снова. Например, указывая значение1результаты в в общей сложности двух играх звука. Установите любое отрицательное целочисленное значение для цикличного выполнения звука неопределенно, пока Вы не вызоветеstopметод.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Объект делегата для аудиоплеера.
Объявление
Swift
unowned(unsafe) var delegate: AVAudioPlayerDelegate!Objective C
@property(assign) id< AVAudioPlayerDelegate > delegateОбсуждение
Объект, который Вы присваиваете, чтобы быть делегатом аудиоплеера, становится целью уведомлений, описанных в Ссылке на протокол AVAudioPlayerDelegate. Эти уведомления позволяют Вам реагировать на ошибки декодирования, прерывания звука (такие как входящий телефонный вызов), и воспроизвести завершение.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Словарь настроек аудиоплеера, содержа информацию о звуке связался с проигрывателем. (только для чтения)
Объявление
Swift
var settings: [NSObject : AnyObject]! { get }Objective C
@property(readonly) NSDictionary *settingsОбсуждение
Словарь настроек аудиоплеера содержит ключи для следующей информации о связанном звуке проигрывателя:
Расположение канала (
AVChannelLayoutKey)Скорость передачи кодера (
AVEncoderBitRateKey)Формат аудиоданных (
AVFormatIDKey)Количество каналов (
AVNumberOfChannelsKey)Частота дискретизации (
AVSampleRateKey)
Ключи настроек описаны в Константах Параметров звука Основы AV.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
numberOfChannels numberOfChannelsСвойствоЧисло звуковых каналов в звуке связалось с аудиоплеером. (только для чтения)
Объявление
Swift
var numberOfChannels: Int { get }Objective C
@property(readonly) NSUInteger numberOfChannelsОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
продолжительность продолжительностьСвойствоВозвращает общую продолжительность, в секундах, звука, связанного с аудиоплеером. (только для чтения)
Объявление
Swift
var duration: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval durationОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
currentTime currentTimeСвойствоТочка воспроизведения, в секундах, во временной шкале звука связалась с аудиоплеером.
Обсуждение
Если звук играет,
currentTimeсмещение текущей позиции воспроизведения, измеренной в секундах от запуска звука. Если звук не играет,currentTimeсмещение того, где игра запускается по вызовуplayметод, измеренный в секундах от запуска звука.Путем установки этого свойства можно искать на отдельный момент в звуковом файле или реализовать аудио ускоренную перемотку и перемотать функции.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
deviceCurrentTime deviceCurrentTimeСвойствоВременная стоимость, в секундах, устройства аудиовыхода. (только для чтения)
Объявление
Swift
var deviceCurrentTime: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval deviceCurrentTimeОбсуждение
В то время как аудиоплеер играет или приостановленный, значение этого свойства увеличивается монотонно.
Если больше чем один аудиоплеер подключен к устройству аудиовыхода, время устройства продолжает постепенно увеличиваться, целый по крайней мере один проигрывателей играет или приостановленный.
Если устройство аудиовыхода не имеет никаких подключенных аудиоплееров, или играющих или приостановленные, время устройства возвращается к 0.
Используйте это свойство для указания «теперь» при вызове
playAtTime:метод экземпляра. Путем конфигурирования многократных аудиоплееров для игры при указанном смещении отdeviceCurrentTime, можно выполнить точную синхронизацию — как описано в обсуждении для того метода.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
URL для звука связался с аудиоплеером. (только для чтения)
Обсуждение
Возвраты
nilесли аудиоплеер не был инициализирован с URL.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Объект данных, содержащий звук, связался с аудиоплеером. (только для чтения)
Обсуждение
Возвраты
nilесли аудиоплеер не имеет никаких данных (т.е. если он не был инициализирован сNSDataобъект).Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
meteringEnabled meteringEnabledСвойствоБулево значение, указывающее уровень звука, измеряющий состояние включения - выключения для аудиоплеера.
Объявление
Swift
var meteringEnabled: BoolObjective C
@property(getter=isMeteringEnabled) BOOL meteringEnabledОбсуждение
Значение по умолчанию для
meteringEnabledсвойство выключено (булевская переменнаяNOfalse). Перед использованием измерения для аудиоплеера необходимо включить его путем установки этого свойства вYEStrue. Еслиplayerпеременная экземпляра аудиоплеера Вашего класса контроллера, Вы позволяете измерить как показано здесь:[self.player setMeteringEnabled: YES];
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвращает среднюю мощность для данного канала, в децибелах, для играемого звука.
Объявление
Swift
func averagePowerForChannel(_channelNumber: Int) -> FloatObjective C
- (float)averagePowerForChannel:(NSUInteger)channelNumberПараметры
channelNumberЗвуковой канал, значение средней мощности которого Вы хотите получить. Номера канала индексируются нулем. Монофонический сигнал или левый канал сигнала стерео, имеет номер канала
0.Возвращаемое значение
Представление с плавающей точкой, в децибелах, текущей средней мощности данного звукового канала. Возвращаемое значение
0дБ указывает полный масштаб или максимальную мощность; возвращаемое значение–160дБ указывает минимальное питание (т.е. около тишины).Если сигнал, предоставленный для аудиоплеера, превышает масштаб ±full, то возвращаемое значение может превысить
0(т.е. это может ввести положительный диапазон).Обсуждение
Для получения текущего значения средней мощности необходимо вызвать
updateMetersметод прежде, чем вызвать этот метод.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает пиковое питание для данного канала, в децибелах, для играемого звука.
Объявление
Swift
func peakPowerForChannel(_channelNumber: Int) -> FloatObjective C
- (float)peakPowerForChannel:(NSUInteger)channelNumberПараметры
channelNumberЗвуковой канал, пиковое значение питания которого Вы хотите получить. Номера канала индексируются нулем. Монофонический сигнал или левый канал сигнала стерео, имеет номер канала
0.Возвращаемое значение
Представление с плавающей точкой, в децибелах, текущего пикового питания данного звукового канала. Возвращаемое значение
0дБ указывает полный масштаб или максимальную мощность; возвращаемое значение–160дБ указывает минимальное питание (т.е. около тишины).Если сигнал, предоставленный для аудиоплеера, превышает масштаб ±full, то возвращаемое значение может превысить
0(т.е. это может ввести положительный диапазон).Обсуждение
Для получения текущего пикового значения питания необходимо вызвать
updateMetersметод прежде, чем вызвать этот метод.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Обновляет средние и пиковые значения питания для всех каналов аудиоплеера.
Объявление
Swift
func updateMeters()Objective C
- (void)updateMetersОбсуждение
Для получения текущих значений мощности звука необходимо вызвать этот метод перед вызовом
averagePowerForChannel:илиpeakPowerForChannel:.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
