моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
В основном разделен на 3 этапа:
AudioServicesCreateSystemSoundID
Создание системных звуков.AudioServicesAddSystemSoundCompletion
Установите обратный звонок.AudioServicesPlaySystemSound
Начните играть.о AudioServicesPlaySystemSound
функция:
Эта функция воспроизводит короткий звук (длительностью 30 секунд или меньше). Поскольку звук может воспроизводиться несколько секунд, эта функция выполняется асинхронно.Чтобы узнать, когда звук закончился, позвонитеAudioServicesAddSystemSoundCompletion
функция для регистрации функции обратного вызова.
На некоторых устройствах iOS вы можете AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
вызвать вибрацию. На других устройствах iOS вызов этой функции с этой константой не имеет никакого эффекта.
Ниже приведены ограничения аудиофайлов, которые может воспроизводить эта функция:
.caf
, .aif
, или .wav
файлНо на самом деле файлы AAC тоже можно нормально воспроизводить. Кроме того, эта функция имеет множество ограничений:
Основной код:
- (void)btnClick:(UIButton *)sender
{
self.mButton.hidden = YES;
NSURL *audioUrl = [[NSBundle mainBundle] URLForResource:@"music" withExtension:@"aac"];
SystemSoundID soundID;
// create a system sound object
AudioServicesCreateSystemSoundID((__bridge CFURLRef)audioUrl, &soundID);
// register a callback function that is invoked when a specified system sound finishes playing
AudioServicesAddSystemSoundCompletion(soundID, NULL, NULL, &playCallback, (__bridge void *_Nullable)(self));
// play a system sound object
AudioServicesPlaySystemSound(soundID);
}
void playCallback(SystemSoundID ssID, void *clientData)
{
ViewController *vc = (__bridge ViewController *)clientData;
vc->_mButton.hidden = NO;
}
Адрес проекта: https://github.com/UestcXiye/AudioToolboxSystemSound.