gpt4 book ai didi

objective-c - 无法将 NSSound 实例放入 NSMutableArray ion cocoa 中

转载 作者:行者123 更新时间:2023-12-03 17:12:35 26 4
gpt4 key购买 nike

我在将 NSsound 实例添加到 NSMutableArray 中时遇到问题我得到的错误是我无法执行[soundFiles addObject:soundObj],因为soundObjnil。但如果我执行[soundObj play],它就会播放 - 所以它是一个实例。

//Name of all the sounds to load in.
sounds = [NSArray arrayWithObjects:
@"sound1",
@"sound2",
nil];


for (int i = 0; i < sounds.count; i++) {
NSString *soundName = [NSString stringWithString:sounds[i]];
NSSound *soundObj = [NSSound soundNamed:soundName];
[soundFiles addObject:soundObj];
}

如果我将 [soundFiles addObject:soundObj] 更改为 [soundFiles addObject:soundName] 就可以了,所以这是尝试传递 NSSound 的问题

我希望能够预加载一堆非常短的声音,让它们在被调用时立即播放。毫秒对于这个项目来说很重要。

我希望这能让我执行[[soundFiles objectAtIndex:1] play] - 因为我认为这会比创建NSSound更快需要播放时对象。

最佳答案

你现在可能已经明白了这一点,但我的猜测是你在创建所有你想要使用的声音文件之前就已经编写了代码。因此,当您尝试创建这些不存在的文件的 NSSound 实例时,它被设置为 nil。故障排除很困难,因为当您将 NSSound 指向不存在的文件时,它不会抛出错误。

我遇到了同样的问题,直到我创建了我想要使用的所有声音文件。我只是想发布我的答案来帮助其他遇到此问题的人,因为 Google 搜索没有找到任何有帮助的内容。

关于objective-c - 无法将 NSSound 实例放入 NSMutableArray ion cocoa 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17690147/

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