Системная ссылка служб звука
System Sound Services обеспечивает интерфейс C для игры коротких звуков и для вызова вибрации на устройствах на iOS та вибрация поддержки.
Можно использовать System Sound Services для игры короткий (30 секунд или короче) звуки. Интерфейс не обеспечивает уровень, расположение, цикличное выполнение или синхронизацию управления, и не поддерживает одновременное воспроизведение: можно играть только один звук за один раз. Можно использовать System Sound Services для обеспечения слышимых предупреждений. На некоторых устройствах на iOS предупреждения могут включать вибрацию.
Для получения информации об использовании для iOS обратитесь к Использованию Аудио в Мультимедийном Руководстве по программированию.
-
Создает системный объект звука.
Объявление
Swift
func AudioServicesCreateSystemSoundID(_
inFileURL
: CFURL!, _outSystemSoundID
: UnsafeMutablePointer<SystemSoundID>) -> OSStatusObjective C
OSStatus AudioServicesCreateSystemSoundID ( CFURLRef inFileURL, SystemSoundID *outSystemSoundID );
Параметры
inFileURL
URL аудиофайла для игры.
outSystemSoundID
На выводе системный объект звука связался с указанным аудиофайлом.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Избавляется от системного объекта звука и связанных ресурсов.
Объявление
Swift
func AudioServicesDisposeSystemSoundID(_
inSystemSoundID
: SystemSoundID) -> OSStatusObjective C
OSStatus AudioServicesDisposeSystemSoundID ( SystemSoundID inSystemSoundID );
Параметры
inSystemSoundID
Системный звук возражает для избавления.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Играет системный звук как предупреждение.
Объявление
Swift
func AudioServicesPlayAlertSound(_
inSystemSoundID
: SystemSoundID)Objective C
void AudioServicesPlayAlertSound ( SystemSoundID inSystemSoundID );
Параметры
inSystemSoundID
Системный звук возражает для игры как предупреждение.
Перед использованием этой функции вызовите
AudioServicesCreateSystemSoundID
функция для получения системного звука.Обсуждение
В зависимости от определенного устройства на iOS эта функция играет короткий звук и может вызвать вибрацию. Вызывание этой функции делает следование различных устройств на iOS:
iPhone — играет указанный звук. Если пользователь сконфигурировал приложение Настроек для вибрации на кольце, также вызывает вибрацию. Если аудио сеанс Вашего приложения сконфигурирован с, Однако устройство не вибрирует
AVAudioSessionCategoryPlayAndRecord
илиAVAudioSessionCategoryRecord
аудио категория сеанса. Это гарантирует, что вибрация не вмешивается в аудиозапись. Для объяснения аудио категорий сеанса посмотрите Экспресс Категорий Аудио Роли.iPod touch, исходный — играет короткую предупредительную мелодию.
iPod touch, второе поколение и более новый — играют указанный звук.
В iOS продолжительность звука, который будет играться, не должна составлять больше чем 30 секунд.
В OS X, когда пользователь сконфигурировал Установки системы для высвечивания экрана для предупреждений, или если звук не может быть представлен, вызвав эту функцию, приведет к экранному высвечиванию. В OS X передайте константу
kSystemSoundID_UserPreferredAlert
играть предупредительный звук, выбранный пользователем в Установках системы. В iOS нет никакого предпочтительного пользовательского звука предупреждения.Для игры короткого звука, не используемого в качестве предупреждения, использовать
AudioServicesPlaySystemSound
.Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Играет системный объект звука.
Объявление
Swift
func AudioServicesPlaySystemSound(_
inSystemSoundID
: SystemSoundID)Objective C
void AudioServicesPlaySystemSound ( SystemSoundID inSystemSoundID );
Параметры
inSystemSoundID
Системный звук для игры. Перед использованием этой функции вызовите
AudioServicesCreateSystemSoundID
функция для получения системного звука.Обсуждение
Эта функция играет короткий звук (30 секунд или меньше в продолжительности). Поскольку звук мог бы играть в течение нескольких секунд, эта функция выполняется асинхронно. Для знания, когда звук закончит играть вызовите
AudioServicesAddSystemSoundCompletion
функционируйте для регистрации функции обратного вызова.На некоторых устройствах на iOS можно передать
kSystemSoundID_Vibrate
постоянный для вызова вибрации. На других устройствах на iOS, вызывая эту функцию, с которой постоянный ничего не делает.Звуковые файлы, что Вы играете использование этой функции, должны быть:
Больше, чем 30 секунд в продолжительности
В линейном PCM или IMA4 (IMA/ADPCM) формат
Упакованный в a
.caf
,.aif
, или.wav
файл
Кроме того, когда Вы используете
AudioServicesPlaySystemSound
функция:Звуки играют в громкости существующей системы без программируемого доступного регулятора громкости
Звуки сразу играют
Цикличное выполнение и расположение стерео недоступны
Одновременное воспроизведение недоступно: можно играть только один звук за один раз
Звук играется локально на динамиках устройства; это не использует аудио маршрутизацию.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Регистрирует функцию обратного вызова, вызывающуюся, когда указанный системный звук заканчивает играть.
Объявление
Swift
func AudioServicesAddSystemSoundCompletion(_
inSystemSoundID
: SystemSoundID, _inRunLoop
: CFRunLoop!, _inRunLoopMode
: CFString!, _inCompletionRoutine
: AudioServicesSystemSoundCompletionProc, _inClientData
: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioServicesAddSystemSoundCompletion ( SystemSoundID inSystemSoundID, CFRunLoopRef inRunLoop, CFStringRef inRunLoopMode, AudioServicesSystemSoundCompletionProc inCompletionRoutine, void *inClientData );
Параметры
inSystemSoundID
Системный звук, на который должна ответить Ваша функция обратного вызова.
inRunLoop
Цикл выполнения, в котором должна работать функция обратного вызова. Передача
NULL
использовать основной цикл выполнения.inRunLoopMode
Режим для цикла выполнения, в котором должны работать функции обратного вызова. Передача
NULL
использовать выполненный режим цикла по умолчанию.inCompletionRoutine
Функция обратного вызова, которая будет вызвана, когда указанный системный звук закончил играть.
inClientData
Данные приложения, которые будут переданы Вашей функции обратного вызова, когда это вызывается. Может быть
NULL
.Возвращаемое значение
Код результата.
Обсуждение
Поскольку системный звук может играть в течение нескольких секунд, Вы могли бы хотеть знать, когда он закончил играть. Например, можно хотеть ожидать, пока системный звук не закончил играть перед игрой другого звука.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Нерегистры любые функции обратного вызова завершения, зарегистрированные для указанного системного звука.
Объявление
Swift
func AudioServicesRemoveSystemSoundCompletion(_
inSystemSoundID
: SystemSoundID)Objective C
void AudioServicesRemoveSystemSoundCompletion ( SystemSoundID inSystemSoundID );
Параметры
inSystemSoundID
Системный звук, для которого должны быть удалены функции обратного вызова.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Получает информацию о свойстве System Sound Services.
Объявление
Swift
func AudioServicesGetPropertyInfo(_
inPropertyID
: AudioServicesPropertyID, _inSpecifierSize
: UInt32, _inSpecifier
: UnsafePointer<Void>, _outPropertyDataSize
: UnsafeMutablePointer<UInt32>, _outWritable
: UnsafeMutablePointer<Boolean>) -> OSStatusObjective C
OSStatus AudioServicesGetPropertyInfo ( AudioServicesPropertyID inPropertyID, UInt32 inSpecifierSize, const void *inSpecifier, UInt32 *outPropertyDataSize, Boolean *outWritable );
Параметры
inPropertyID
Свойство Вы хотите информацию о.
inSpecifierSize
Размер буфера, на который указывают
inSpecifier
параметр. Передача0
если не требуется никакой буфер спецификатора.inSpecifier
Указатель на буфер спецификатора, если такой буфер требуется свойством, о котором Вы хотите информацию. Передача
NULL
если не требуется никакой спецификатор.outPropertyDataSize
На выводе, размере, в байтах, значения свойства. Для получения значения свойства Вам нужен буфер, по крайней мере, этого размера.
outWritable
На выводе,
true
если свойство перезаписываемо, илиfalse
если свойство только для чтения.Возвращаемое значение
Код результата.
Обсуждение
Свойства System Sound Services перечислены и описаны в Идентификаторах Свойства System Sound Services.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Получает указанное значение свойства System Sound Services.
Объявление
Swift
func AudioServicesGetProperty(_
inPropertyID
: AudioServicesPropertyID, _inSpecifierSize
: UInt32, _inSpecifier
: UnsafePointer<Void>, _ioPropertyDataSize
: UnsafeMutablePointer<UInt32>, _outPropertyData
: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioServicesGetProperty ( AudioServicesPropertyID inPropertyID, UInt32 inSpecifierSize, const void *inSpecifier, UInt32 *ioPropertyDataSize, void *outPropertyData );
Параметры
inPropertyID
Свойство, значение которого Вы хотите.
inSpecifierSize
Размер буфера, на который указывают
inSpecifier
параметр. Передача0
если не требуется никакой буфер спецификатора.inSpecifier
Указатель на буфер спецификатора, если такой буфер требуется свойством, о котором Вы хотите информацию. Передача
NULL
если не требуется никакой спецификатор.ioPropertyDataSize
На вводе, размере, в байтах, буфера, на который указывают
outPropertyData
параметр. ВызовитеAudioServicesGetPropertyInfo
функция для обнаружения размера, требуемого для этого буфера. На выводе, числе байтов, записанных в буфер.outPropertyData
На выводе, значении свойства.
Возвращаемое значение
Код результата.
Обсуждение
Свойства System Sound Services перечислены и описаны в Идентификаторах Свойства System Sound Services.
Специальные замечания
Некоторые значения свойств Core Audio являются типами C, и другие являются Базовыми объектами Основы.
Если Вы вызываете эту функцию для получения значения, которое является Базовым объектом Основы, то эта функция — несмотря на использование «Get» на его имя — копирует объект. Вы ответственны за выпуск объекта, как описано в Создать Правиле в Руководстве по программированию управления памятью для Базовой Основы.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Устанавливает значение для указанного свойства System Sound Services.
Объявление
Swift
func AudioServicesSetProperty(_
inPropertyID
: AudioServicesPropertyID, _inSpecifierSize
: UInt32, _inSpecifier
: UnsafePointer<Void>, _inPropertyDataSize
: UInt32, _inPropertyData
: UnsafePointer<Void>) -> OSStatusObjective C
OSStatus AudioServicesSetProperty ( AudioServicesPropertyID inPropertyID, UInt32 inSpecifierSize, const void *inSpecifier, UInt32 inPropertyDataSize, const void *inPropertyData );
Параметры
inPropertyID
Свойство, значение которого Вы хотите установить.
inSpecifierSize
Размер буфера, на который указывают
inSpecifier
параметр. Передача0
если не требуется никакой буфер спецификатора.inSpecifier
Указатель на буфер спецификатора, если такой буфер требуется свойством, о котором Вы хотите информацию. Передача
NULL
если не требуется никакой спецификатор.inPropertyDataSize
Размер, в байтах, буфера, на который указывают
inPropertyData
параметр.inPropertyData
Значение свойства Вы хотите установить.
Возвращаемое значение
Код результата.
Обсуждение
Свойства System Sound Services перечислены и описаны в Идентификаторах Свойства System Sound Services.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Вызванный, когда системный звук заканчивает играть.
Объявление
Swift
typealias AudioServicesSystemSoundCompletionProc = CFunctionPointer<((SystemSoundID, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*AudioServicesSystemSoundCompletionProc) ( SystemSoundID ssID, void *clientData );
Параметры
ssID
Системный звук, закончивший играть.
clientData
Данные приложения, которые Вы указали при регистрации функции обратного вызова.
Обсуждение
Поскольку системный звук может играть в течение максимум 30 секунд,
AudioServicesPlaySystemSound
функция выполняется асинхронно (т.е. она сразу возвращается). Когда указанный системный звук закончил играть, этот обратный вызов вызывается. В то время как первый звук все еще играет, можно использовать этот обратный вызов, например, чтобы помочь Вам избежать играть второй звук.Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Тип данных для системы звучит как идентификатор свойства.
Объявление
Swift
typealias AudioServicesPropertyID = UInt32
Objective C
typedef UInt32 AudioServicesPropertyID;
Обсуждение
Свойства System Audio Services перечислены в Идентификаторах Свойства System Sound Services.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Системный объект звука, идентифицированный со звуковым файлом, Вы хотите играть.
Объявление
Swift
typealias SystemSoundID = UInt32
Objective C
typedef UInt32 SystemSoundID;
Обсуждение
Вызовите
AudioServicesCreateSystemSoundID
функция для получения системы звучит как объект.Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Идентификаторы для предупредительных звуков и альтернатив звукам, для использования с
AudioServicesPlayAlertSound
функция.Объявление
Swift
var kSystemSoundID_UserPreferredAlert: Int { get } var kSystemSoundID_FlashScreen: Int { get } var kUserPreferredAlert: Int { get }
Objective C
enum { kSystemSoundID_UserPreferredAlert = 0x00001000, kSystemSoundID_FlashScreen = 0x00000FFE, kUserPreferredAlert = kSystemSoundID_UserPreferredAlert };
Константы
-
kSystemSoundID_UserPreferredAlert
kSystemSoundID_UserPreferredAlert
На рабочем столе используйте эту константу с
AudioServicesPlayAlertSound
функционируйте для игры предупреждения, указанного в Звуковой предпочтительной области.Доступный в OS X v10.6 и позже.
-
kSystemSoundID_FlashScreen
kSystemSoundID_FlashScreen
На рабочем столе используйте эту константу с
AudioServicesPlayAlertSound
функционируйте для отображения флэш-памяти света на экране.Доступный в OS X v10.6 и позже.
-
kUserPreferredAlert
kUserPreferredAlert
Осуждаемый. Использовать
kSystemSoundID_UserPreferredAlert
вместо этого..Доступный в OS X v10.5 и позже.
-
-
Идентификаторы свойства, используемые при игре предупреждений с System Sound Services.
Объявление
Swift
var kAudioServicesPropertyIsUISound: Int { get } var kAudioServicesPropertyCompletePlaybackIfAppDies: Int { get }
Objective C
enum { kAudioServicesPropertyIsUISound = 'isui', kAudioServicesPropertyCompletePlaybackIfAppDies = 'ifdi' };
Константы
-
kAudioServicesPropertyIsUISound
kAudioServicesPropertyIsUISound
A
UInt32
значение, где1
средние значения, что, для аудиофайла, указанного системой, звучат переданными вinSpecifier
когда пользователь выключает звуковые эффекты, параметр, Системный сервер Звука уважает пользователя, устанавливающего в предпочтении Звуковых эффектов, и тих.Это свойство установлено в
1
по умолчанию. Установите его в0
поскольку система звучит, чтобы всегда играть, когда переданоAudioServicesPlaySystemSound
, независимо от установки пользователя в звуковых предпочтениях.Доступный в OS X v10.5 и позже.
-
kAudioServicesPropertyCompletePlaybackIfAppDies
kAudioServicesPropertyCompletePlaybackIfAppDies
A
UInt32
значение, где1
средние значения, что аудиофайл, указанный системой, звучит переданным вinSpecifier
даже если клиентское приложение завершается, параметр должен закончить играть. Это могло произойти, например, если пользовательские выходы или приложение завершаются неожиданно, в то время как играет звук. Значение по умолчанию0
. Т.е. необходимо явно установить значение этого свойства в1
если Вы хотите, чтобы звук завершил игру, даже если завершается приложение.Доступный в OS X v10.5 и позже.
-
Эта таблица приводит коды результата, определенные для System Sound Services.
-
Никакая ошибка не произошла.
Значение
0
Описание
Никакая ошибка не произошла.
Доступный в OS X v10.5 и позже.
-
Свойство не поддерживается.
Значение
'имущество?'
Описание
Свойство не поддерживается.
Доступный в OS X v10.5 и позже.
-
Размер данных свойства не был корректен.
Значение
'! siz'
Описание
Размер данных свойства не был корректен.
Доступный в OS X v10.5 и позже.
-
Размер данных спецификатора не был корректен.
Значение
'! SPC'
Описание
Размер данных спецификатора не был корректен.
Доступный в OS X v10.5 и позже.
-
Неустановленная ошибка произошла.
Значение
- 1500
Описание
Неустановленная ошибка произошла.
Доступный в OS X v10.5 и позже.
-
Системное клиентское сообщение звука испытало таймаут.
Значение
- 1501
Описание
Системное клиентское сообщение звука испытало таймаут.
Доступный в OS X v10.5 и позже.