Там может быть вариант для вас. Поэтому в файле .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
}
Надеюсь, он сработает.
Hi Dalton - Это замечательно, очень любезно с вашей стороны. Я еще ничего не написал, я пытаюсь его формализовать в своей голове. (Очень новое для всего этого). Однако код, который вы предоставили, совпадает с тем, как я бы подошел к нему. Будучи новичком в objectC, мне было любопытно узнать, была ли общая строка, которая отключила все звуки, запущенные в приложении (где ваши встроенные комментарии в настоящее время размещены) – Tron
Как вы играете в sfx? –