2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Principalement divisé en 3 étapes :
AudioServicesCreateSystemSoundID
Créez des sons système.AudioServicesAddSystemSoundCompletion
Définir le rappel.AudioServicesPlaySystemSound
Commencer à jouer.à propos AudioServicesPlaySystemSound
fonction:
Cette fonction joue un son court (durée 30 s ou moins). Étant donné que le son peut durer plusieurs secondes, cette fonction est exécutée de manière asynchrone.Pour savoir quand un son a fini de jouer, appelezAudioServicesAddSystemSoundCompletion
fonction pour enregistrer une fonction de rappel.
Sur certains appareils iOS, vous pouvez AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
pour invoquer la vibration. Sur les autres appareils iOS, appeler cette fonction avec cette constante n'a aucun effet.
Voici les limitations des fichiers audio que cette fonction peut lire :
.caf
, .aif
, ou .wav
déposerMais en fait, les fichiers AAC peuvent également être lus normalement. De plus, cette fonction présente de nombreuses limitations :
Code de base :
- (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;
}
Adresse du projet : https://github.com/UestcXiye/AudioToolboxSystemSound.