Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Dividido principalmente en 3 pasos:
AudioServicesCreateSystemSoundID
Crea sonidos del sistema.AudioServicesAddSystemSoundCompletion
Establecer devolución de llamada.AudioServicesPlaySystemSound
Empieza a jugar.acerca de AudioServicesPlaySystemSound
función:
Esta función reproduce un sonido corto (duración 30 segundos o menos). Dado que el sonido puede reproducirse durante varios segundos, esta función se realiza de forma asincrónica.Para saber cuándo terminó de reproducirse un sonido, llameAudioServicesAddSystemSoundCompletion
función para registrar una función de devolución de llamada.
En algunos dispositivos iOS, esto es posible a través de AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
para invocar la vibración. En otros dispositivos iOS, llamar a esta función con esta constante no tiene ningún efecto.
Las siguientes son las limitaciones de los archivos de audio que esta función puede reproducir:
.caf
, .aif
, o .wav
archivoPero, de hecho, los archivos AAC también se pueden reproducir normalmente. Además, esta función tiene muchas limitaciones:
Código central:
- (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;
}
Dirección del proyecto: https://github.com/UestcXiye/AudioToolboxSystemSound.