Ich möchte gerne einen Ton abspielen lassen, wenn eine Taste gedrückt wird. Außerdem gibt es mehr als einen Sound. Ich bin mit Xcode 4.4.1 und Storyboard.
In der Datei .h
{
IBOutlet UIButton *playSound;
}
Ich möchte gerne einen Ton abspielen lassen, wenn eine Taste gedrückt wird. Außerdem gibt es mehr als einen Sound. Ich bin mit Xcode 4.4.1 und Storyboard.
In der Datei .h
{
IBOutlet UIButton *playSound;
}
Ich dachte, es würde Spaß machen, ein solches Beispiel zu schreiben, also habe ich es geschrieben. Es zeigt, wie man verschiedene zufällige Töne abspielt, wenn eine Taste gedrückt wird:
-(IBAction)buttonPressedWithSound:(id)sender {
int randomSoundNumber = arc4random() % 4; //random number from 0 to 3
NSLog(@"random sound number = %i", randomSoundNumber);
NSString *effectTitle;
switch (randomSoundNumber) {
case 0:
effectTitle = @"sound1";
break;
case 1:
effectTitle = @"sound2";
break;
case 2:
effectTitle = @"sound3";
break;
case 3:
effectTitle = @"sound4";
break;
default:
break;
}
SystemSoundID soundID;
NSString *soundPath = [[NSBundle mainBundle] pathForResource:effectTitle ofType:@"caf"];
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
AudioServicesCreateSystemSoundID ((CFURLRef)soundUrl, &soundID);
AudioServicesPlaySystemSound(soundID);
}
Erläuterung:
Fügen Sie vier Sounds in Ihr Projekt ein: sound1.caf , sound2.caf , sound3.caf y sound4.caf .
Importieren Sie das AudioToolbox-Framework in Ihr Projekt. Und in .h einschließen #import <AudioToolbox/AudioToolbox.h>
.
Vergessen Sie nicht, Ihre Schaltfläche mit buttonPressedWithSound über IBAction
.
Ich habe diesen Weg gefunden, und er funktioniert für mich
SystemSoundID soundID;
NSString *soundPath = [[NSBundle mainBundle] pathForResource:ClickSoundFile ofType:FileTypemp3];
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
AudioServicesCreateSystemSoundID ((__bridge CFURLRef)soundUrl, &soundID);
AudioServicesPlaySystemSound(soundID);
*Anmerkung
ClickSoundFile : Name der Tondatei FileTypemp3 : Dateityp mp3
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.