NSSound auf dem iPhone
-
23-08-2019 - |
Frage
Ich habe schon eine Weile suchen, wie Ton auf dem iPhone zu spielen, und ich denke, es ist etwas entlang der Linien von:
[[NSSound soundNamed:@"cat.mp3"] play];
Aber die NSSound ist auf der AppKit ... irgendwelche Vorschläge? Ich weiß, es ist eine wirklich einfache Antwort auf diese Frage, aber heute meine Recherchen sind kein Ergebnis Rendering ...
Lösung
Die neue AVFoundation Klasse ist der einfachste Weg, Ton auf dem iPhone zu spielen, obwohl es für Firmware 2.2 nur ist:
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[audioPlayer play];
Sie müssen nur diesen Import in der Klasse, die es verwendet:
#import <AVFoundation/AVAudioPlayer.h>
Andere Tipps
Audio Toolbox Systemtöne sind ideal für kurze Asynchron-Wiedergabe.
// Initialize
CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle ();
// Init each sound
CFURLRef tapURL;
SystemSoundID tapSound;
tapURL = CFBundleCopyResourceURL(mainBundle, CFSTR("tap"), CFSTR("aif"), NULL);
AudioServicesCreateSystemSoundID(tapURL, &tapSound);
// Play the sound async
AudioServicesPlaySystemSound(tapSound);
Ich habe nicht MP3s bekommen mit AudioServicesPlaySystemSound
zu arbeiten. Aber es spielt AIF-Dateien perfekt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow