我正在制作一个根据视图控制器的选择播放声音文件的应用程序。我有一个将弹出的视图控制器,它显示一个带有城市名称、描述、图片和一个应该播放简单声音的按钮的视图。在下面的示例中,它将播放一个名为“slang4”的声音文件。这是实现文件中我的按钮的代码:
- (IBAction)soundButton:(id)sender{
CFBundleRef mainBundle=CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef=CFBundleCopyResourceURL(mainBundle, (CFStringRef)@"slang4", CFSTR("mp3"),NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}
问题是我希望按钮根据原始视图控制器(城市列表)的选择播放不同的声音。
例如,我的应用程序委托实现文件中的以下代码显示了每个城市如何拥有不同的声音文件:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
City *london = [[City alloc]init];
london.cityName = @"London";
london.cityDescription = @"The cap of UK.";
london.cityPicture = [UIImage imageNamed:@"London.jpg"];
london.soundFile=@"slang4.mp3";
City *sanFranciso = [[City alloc]init];
sanFranciso.cityName = @"San Francisco";
sanFranciso.cityDescription=@"City by the Bay";
sanFranciso.cityPicture = [UIImage imageNamed:@"SanFranciso.jpg"];
sanFranciso.soundFile=@"babymama.mp3";
我的问题是我希望按钮能够知道根据城市播放哪个声音文件。我已经自学 iOS 编程大约 8 个月了,但我仍然是初学者。希望这是有道理的。