iOS - Turn SFX off



我是iOS开发的新手。我现在有一个应用程序,里面有一些SFX。我找到了其他几个线程来解释方法/逻辑,我完全理解,但这是我想要的代码,因为我不知道语法。

如果我使用UI Switch,我将如何关闭应用程序中使用的任何SFX?

如有任何帮助和协助,我们将不胜感激。

谢谢大家。

您是如何使用sfx的?如果你能上传你的代码,那会有所帮助。但你可以试试这个吗?

- (IBAction)SwitchValueChanged:(id)sender
{
    if([sender isOn])
{
        NSLog(@"Switch is ON");
        //On Your SFX
    } 
    else
{
        NSLog(@"Switch is OFF");
        //Off Your SFX
    }
}

我真的不明白你说的有些SFX是什么意思,所以很难提供帮助

您可能有一个选择。所以在.h文件中的开关将其关闭,放入此代码。

@interface SettingScreen : UIViewController<AVAudioPlayerDelegate,AVAudioSessionDelegate>
{
    AVAudioPlayer *audioplayer;
}

in.m文件

-(void)viewDidLoad
{
    NSString* BS_path_blue=[[NSBundle mainBundle]pathForResource:@"Click" ofType:@"mp3"];
    audioplayer =[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL     fileURLWithPath:BS_path_blue]  error:NULL];
    audioplayer.delegate=self;
    [audioplayer prepareToPlay];
    UISwitch *soundsButton = [[UISwitch alloc]initWithFrame:CGRectMake(180, 8, 130, 27)];
    [self.view addSubview:soundsOnOffButton];
    [soundsOnOffButton addTarget:self action:@selector(buttonAction:)                forControlEvents:UIControlEventTouchUpInside];
     soundsButton.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"sound"];
}
-(void)buttonAction:(UIButton *)sender
{
    if (soundsButton.on)
    {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"sound"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        if ([[NSUserDefaults standardUserDefaults] boolForKey:@"sound"]==YES)
        {
            [audioplayer play];
        }
    }
    else
    {
        [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"sound"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}

现在,如果你想为某事播放声音。(使用按钮作为示例)在另一个屏幕中,将委托和前四行添加到文件中,然后将这一行添加到他们的操作中。

-(void)buttonAction:(UIButton *)sender
{
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"sound"]==YES)
    {
         [audioplayer play];
     }
    // other code
}

希望它能起作用。

相关内容

  • 没有找到相关文章

最新更新