当用户点击UITabBarController选项卡时如何播放声音

时间:2011-04-01 10:36:20

标签: iphone objective-c xcode cocoa-touch

在我的应用程序中,我有一个标签栏控制器,用于管理三个视图控制器。现在我想添加声音,如果用户点击任何一个选项卡。源代码:

// Declare all three view controllers
nextview *con = [[nextview alloc]init];
nextview1 *con1= [[nextview1 alloc] init];
nextview2 *con2 = [[nextview2 alloc] init]; 
//declare tab barcontroller  
UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectMake(0, 0, 320, 480);

// Set each tab to show an appropriate view controller
[tabBarController setViewControllers:[NSArray arrayWithObjects:con,con1,con2, nil]];

2 个答案:

答案 0 :(得分:1)

设置UITabBarController的代表并使用tabBarController:didSelectViewController:(信息here)播放您的声音。在iOS上播放声音有点棘手,但谷歌是你的朋友。

答案 1 :(得分:0)

跟踪委托中的tabbar按钮 - tabBarController:didSelectViewController:

用AVAudioPlayer播放声音..代码在这里 -

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]];

    NSError *error;
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    audioPlayer.numberOfLoops = -1;

    if (audioPlayer == nil)
        NSLog([error description]);
    else
        [audioPlayer play];