2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hauptsächlich in 3 Schritte unterteilt:
AudioServicesCreateSystemSoundID
Erstellen Sie Systemsounds.AudioServicesAddSystemSoundCompletion
Rückruf einstellen.AudioServicesPlaySystemSound
Jetzt Spielen.um AudioServicesPlaySystemSound
Funktion:
Diese Funktion spielt einen kurzen Ton ab (Dauer 30 Sekunden oder weniger). Da der Ton mehrere Sekunden lang abgespielt werden kann, wird diese Funktion asynchron ausgeführt.Um herauszufinden, wann ein Ton zu Ende gespielt wurde, rufen Sie anAudioServicesAddSystemSoundCompletion
Funktion zum Registrieren einer Rückruffunktion.
Auf einigen iOS-Geräten ist dies möglich AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
Vibration hervorrufen. Auf anderen iOS-Geräten hat der Aufruf dieser Funktion mit dieser Konstante keine Auswirkung.
Im Folgenden sind die Einschränkungen der Audiodateien aufgeführt, die mit dieser Funktion abgespielt werden können:
.caf
, .aif
, oder .wav
DateiTatsächlich können AAC-Dateien aber auch normal abgespielt werden. Darüber hinaus weist diese Funktion viele Einschränkungen auf:
Kerncode:
- (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;
}
Projektadresse: https://github.com/UestcXiye/AudioToolboxSystemSound.