gpt4 book ai didi

objective-c - 设置SoundiD xcode错误-尝试播放音乐

转载 作者:行者123 更新时间:2023-12-02 23:52:28 25 4
gpt4 key购买 nike

我早些时候工作过,但是由于某些原因,在我添加了更多代码然后将其中的一些代码取出来之后,某些东西似乎停止工作了。
AudioServicesPlaySystemSound(soundID);引起一些错误。

<+0117>  mov    %eax,-0x18(%ebp)
+0313> test %eax,%eax
<+0348> test %eax,%eax

soundID UInt32 3221214520
soundFileURLRef CFURLRef 0x75217a0
mainBundle CFBundleRef 0x73122b0
_cmd SEL 0x511b
自我FirstViewController * 0x7349e90
这是我在堆栈跟踪中看到的一些错误。

这似乎是愚蠢的问题,但我来自Java。

是什么导致了此错误?

之前一切都很好。我没有更改任何代码,为什么东西开始崩溃。

您如何防止它发生以及如何解决?
- (IBAction) boom;  {


CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"jarrvvv1", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);

}

由于某种原因,此建议方法无效。
- (IBAction) boom;  {


UInt32 soundID;


NSURL * soundFileURL = [[NSBundle mainBundle] URLForResource:@"jarrvvv1" withExtension:@"mp3"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundFileURL, &soundID);
AudioServicesPlaySystemSound(soundID);

}

最佳答案

更新

我刚刚检查过,AudioServicesCreateSystemSoundID不支持mp3!

Multimedia Programming Guide:

The AudioServicesPlaySystemSound function lets you very simply play short sound files. The simplicity carries with it a few restrictions. Your sound files must be:

No longer than 30 seconds in duration In linear PCM or IMA4 (IMA/ADPCM) format Packaged in a .caf, .aif, or .wav file



上一个答案

检查 soundFileURLRef是否返回非NULL。如果为NULL,则可能尚未将mp3文件复制到您的应用程序 bundle 包中。

ps您可以使用Foundation(objective-c API)而不是CoreFoundation进行资源加载,从而省去一些思考:
NSURL * soundFileURL = [[NSBundle mainBundle] URLForResource:@"jarrvvv1" withExtension:@"mp3"];
NSLog(@"soundFileURL: %@\n", soundFileURL);
UInt32 soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundFileURL, &soundID);

这样,ARC将为您处理内存管理。

关于objective-c - 设置SoundiD xcode错误-尝试播放音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22520664/

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