2014-09-15 2 views
-1

Я очень новичок в разработке iOS. В настоящее время у меня есть приложение с некоторыми SFX. Я нашел пару других потоков, которые объясняют подход/логику, которые я полностью понимаю, но это код, который я получил после того, как я понятия не имею о синтаксисе.iOS - отключить SFX

Если бы я использовал UI-коммутатор, как бы отключить SFX, который используется в приложении?

Любая помощь и помощь были бы очень признательны.

Спасибо всем.

ответ

0

Как вы используете свой sfx? Если бы вы могли загрузить свой код, это помогло бы. Но вы можете попробовать это?

- (IBAction)SwitchValueChanged:(id)sender 
{ 

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

} 

Я не очень понимаю, что вы имеете в виду Некоторые SFX Таким образом, ее трудно оказать помощь

+0

Hi Dalton - Это замечательно, очень любезно с вашей стороны. Я еще ничего не написал, я пытаюсь его формализовать в своей голове. (Очень новое для всего этого). Однако код, который вы предоставили, совпадает с тем, как я бы подошел к нему. Будучи новичком в objectC, мне было любопытно узнать, была ли общая строка, которая отключила все звуки, запущенные в приложении (где ваши встроенные комментарии в настоящее время размещены) – Tron

+0

Как вы играете в sfx? –

0

Там может быть вариант для вас. Поэтому в файле .h, где переключатель отключает его, введите этот код.

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

в .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 
} 

Надеюсь, он сработает.

Смежные вопросы