我是Objective-C的新手。我的问题是我在Master-Detail设计中有一个应用程序,其中包含一个列出英语单词及其威尔士语翻译的表格。这很好用,但我也希望通过UIButton为发音添加声音。我知道如何制作一个声音播放,但是当我按下按钮时,如何为正确的文字播放制作相应的声音?
我的表格如下:
-(void)createWordData {
NSMutableArray *nounWords;
NSMutableArray *verbWords;
_wordSections=@[@"Nouns", @"Verbs"];
nounWords=[[NSMutableArray alloc] init];
verbWords=[[NSMutableArray alloc] init];
[nounWords addObject:@{@"English":@"girl",@"Cymraeg":@"y ferch (f.)",@"Sound":@"Merch"}];
[nounWords addObject:@{@"English":@"boy",@"Cymraeg":@"y bachgen (m.)",@"Sound":@"Bachgen"}];
[nounWords addObject:@{@"English":@"cat",@"Cymraeg":@"y gath (f.)",@"Sound":@"Cath"}];
[nounWords addObject:@{@"English":@"dog",@"Cymraeg":@"y ci (m.)",@"Sound":@"Ci"}];
[verbWords addObject:@{@"English":@"walk",@"Cymraeg":@"cerdded",@"Sound":@"Cerdded"}];
[verbWords addObject:@{@"English":@"run",@"Cymraeg":@"rhedeg",@"Sound":@"Rhedeg"}];
[verbWords addObject:@{@"English":@"play",@"Cymraeg":@"chwarae",@"Sound":@"Chwarae"}];
[verbWords addObject:@{@"English":@"sleep",@"Cymraeg":@"cysgu",@"Sound":@"Cysgu"}];
_wordData=@[nounWords,verbWords];
}
播放动作如下:
- (IBAction)pronunciation:(id)sender {
SystemSoundID soundID;
NSString *soundFile = [[NSBundle mainBundle]
pathForResource:@"Cath" ofType:@"wav"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)
[NSURL fileURLWithPath:soundFile]
, &soundID);
AudioServicesPlayAlertSound(soundID);
}
答案 0 :(得分:0)
在pronunciation:
方法中,不是硬编码@"Cath"
,而是选择声音取决于sender
的事实(或关于当前状态的其他事实)确定用户想要的单词。
顺便说一下,让这个声音成为警报声可能根本不是产生声音的最好方法。 (无论如何你可能会泄漏你的声音。)你应该使用AVAudioPlayer。