带有声音剪辑的字母表的iOS应用程序

时间:2015-11-19 11:28:56

标签: ios xcode6

我正在开发一个包含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); 
}

1 个答案:

答案 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的定义是什么/哪里,所以你可能会在某处发生内存泄漏?如果你这样做,你知道要询问哪个网站;)