τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
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.