我正在开发一个包含A到Z字母的iOS应用程序。我有每个字母的声音片段。我有一个按钮" next",它会在点击时更改字母。现在,当我点击下一个按钮时,我想要播放特定字母的特定声音片段。
- (void)viewDidLoad {
[super viewDidLoad];
NSURL * soundURL = [[NSBundle mainBundle] URLForResource:@"apple" withExtension:@"mp3"];
AudioServicesCreateSystemSoundID((CFURLRef)CFBridgingRetain(soundURL), &fruitsound);
}
- (IBAction)btnPlayClicked:(id)sender {
AudioServicesPlaySystemSound(fruitsound);
}
答案 0 :(得分:0)
您需要有一种方法将他们所点击的字母转换为您想要播放的声音。最简单的方法是将声音文件的名称与字母完全相同;)还有其他更复杂的(但在其他方面更好)来解决这个问题,但为了让你开始尝试这样的事情:
- (IBAction)btnPlayClicked:(UIbutton)sender {
// Get the letter from the button that was tapped and use that as the sound file name
NSString *letter = sender.text.lowercaseString;
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:letter withExtension:@"mp3"];
// Create the sound with that name and play it
AudioServicesCreateSystemSoundID((CFURLRef)CFBridgingRetain(soundURL), &fruitsound);
AudioServicesPlaySystemSound(fruitsound);
}
假设你已经将你的声音命名为a.mp3,b.mp3等,这应该可行。
但是,我不知道fruitsound
的定义是什么/哪里,所以你可能会在某处发生内存泄漏?如果你这样做,你知道要询问哪个网站;)