我在一个简单的 Roulett 应用程序中尝试播放一些 wav 文件时遇到以下错误。我不确定该错误意味着什么,因为代码中没有出现警告标志,并且我已导入
这是错误:
未定义的符号:
“_AudioServicesCreateSystemSoundID”,
参考自:
-[CustomPickerViewController playWinSound] 中
CustomPickerViewController.o
-CustomPickerViewController.o 中的[CustomPickerViewController spin:]
“_AudioServicesPlaySystemSound”,
参考自:
-[CustomPickerViewController playWinSound] 中
CustomPickerViewController.o
-CustomPickerViewController.o 中的[CustomPickerViewController spin:]
ld:未找到符号collect2:ld
返回 1 退出状态
“_AudioServicesCreateSystemSoundID”,
参考自:
-[CustomPickerViewController playWinSound] 中
CustomPickerViewController.o
-CustomPickerViewController.o 中的[CustomPickerViewController spin:]
“_AudioServicesPlaySystemSound”,
参考自:
-[CustomPickerViewController playWinSound] 中
CustomPickerViewController.o
-CustomPickerViewController.o 中的[CustomPickerViewController spin:]
ld:未找到符号collect2:ld
返回 1 退出状态
这是代码:
#import "CustomPickerViewController.h"
#import <AudioToolbox/AudioToolbox.h>
@implementation CustomPickerViewController
@synthesize picker;
@synthesize winLabel;
@synthesize column1;
@synthesize column2;
@synthesize column3;
@synthesize column4;
@synthesize column5;
@synthesize button;
- (void)showButton
{
button.hidden = NO;
}
-(void)playWinSound
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"win" ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound (soundID);
winLabel.text = @"WIN!";
[self performSelector:@selector(showButton) withObject:nil afterDelay:1.5];
}
-(IBAction)spin:(id)sender
{
BOOL win = NO;
int numInRow = 1;
int lastVal = -1;
for (int i = 0; i < 5; i++)
{
int newValue =random() % [self.column1 count];
if (newValue == lastVal)
numInRow++;
else
numInRow = 1;
lastVal = newValue;
[picker selectRow:newValue inComponent:i animated: YES];
[picker reloadComponent:i];
if (numInRow >= 3)
win = YES;
}
button.hidden = YES;
NSString *path = [[NSBundle mainBundle] pathForResource:@"crunch"ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef) [NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound(soundID);
if (win)
[self performSelector:@selector(playWinSound) withObject: nil afterDelay: .5];
else
[self performSelector:@selector(showButton) withObject: nil afterDelay: .5];
winLabel.text = @"";
}
找到了。意识到我没有在 XCode 中导入 Framework AudioToolbox.Framework。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)