Системная ссылка служб звука
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 );Параметры
inFileURLURL аудиофайла для игры.
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 = UInt32Objective C
typedef UInt32 AudioServicesPropertyID;Обсуждение
Свойства System Audio Services перечислены в Идентификаторах Свойства System Sound Services.
Оператор импорта
Objective C
@import AudioToolbox;Swift
import AudioToolboxДоступность
Доступный в OS X v10.5 и позже.
-
Системный объект звука, идентифицированный со звуковым файлом, Вы хотите играть.
Объявление
Swift
typealias SystemSoundID = UInt32Objective 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_UserPreferredAlertkSystemSoundID_UserPreferredAlertНа рабочем столе используйте эту константу с
AudioServicesPlayAlertSoundфункционируйте для игры предупреждения, указанного в Звуковой предпочтительной области.Доступный в OS X v10.6 и позже.
-
kSystemSoundID_FlashScreenkSystemSoundID_FlashScreenНа рабочем столе используйте эту константу с
AudioServicesPlayAlertSoundфункционируйте для отображения флэш-памяти света на экране.Доступный в OS X v10.6 и позже.
-
kUserPreferredAlertkUserPreferredAlertОсуждаемый. Использовать
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' };Константы
-
kAudioServicesPropertyIsUISoundkAudioServicesPropertyIsUISoundA
UInt32значение, где1средние значения, что, для аудиофайла, указанного системой, звучат переданными вinSpecifierкогда пользователь выключает звуковые эффекты, параметр, Системный сервер Звука уважает пользователя, устанавливающего в предпочтении Звуковых эффектов, и тих.Это свойство установлено в
1по умолчанию. Установите его в0поскольку система звучит, чтобы всегда играть, когда переданоAudioServicesPlaySystemSound, независимо от установки пользователя в звуковых предпочтениях.Доступный в OS X v10.5 и позже.
-
kAudioServicesPropertyCompletePlaybackIfAppDieskAudioServicesPropertyCompletePlaybackIfAppDiesA
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 и позже.
