gpt4 book ai didi

objective-c - AVAudioPlayer 和 NSUserDefaults

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:15 24 4
gpt4 key购买 nike

[PlaySound stop];        
[PlaySound prepareToPlay];
[[NSUserDefaults standardUserDefaults] synchronize];
text = [[NSUserDefaults standardUserDefaults] stringForKey:@"defaulttext"];
NSLog(@"%@",text);
BOOL loop = [prefs boolForKey:@"switch"];
NSLog(@" %d",loop);
do {
[PlaySound play];
} while (loop ==YES);

我在使用这段代码时面临两个主要问题。

1) 这是一个在点击按钮时调用的函数...我在这个函数中分配音频播放器。每当调用此函数时,我都会在音频播放器上调用停止函数,但它不会停止,并且会同时播放两个声音。

2) 我的默认设置没有正确注册。字符串和 bool 值在控制台中都显示为 nil。

我已经在我的应用中添加了设置包。

编辑:方法的其余部分

NSUInteger selectedRow= [SoundPicker selectedRowInComponent:0];
NSString *userchoice =[self pickerView:SoundPicker titleForRow:selectedRow forComponent:0];
NSString *soundpath = [[NSBundle mainBundle] pathForResource:userchoice ofType:@"wav"];
NSURL *fileURl = [[NSURL alloc] initFileURLWithPath:soundpath];
NSError **error = nil;
PlayFartSound = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURl error:error];

我已经解决了音频播放器的问题。任何人都可以帮助 NSUserDefaults

在我的设置根 plist 中,我有一个带有标识符名称 name_preference 的文本字段,所以我把它放在代码中:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

text = [defaults stringForKey:@"name_preference"];
NSLog(@"%@ abc",text);

日志是 (null) abc ? [我已经在 plist 中将默认值设置为 hello]

最佳答案

如何在 NSUserDefaults 中设置默认值?你说你在 plist 中有默认值,但是什么时候将该 plist 加载到 NSUserDefaults 中?

要设置默认的 NSUserDefaults 值,您需要在程序的早期某处调用它,最好是在 applicationDidFinishLaunching 之类的地方

[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];

其中 'defaults' 是默认设置的字典,可能从 plist 加载。

关于objective-c - AVAudioPlayer 和 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8432198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com