2009-03-25 21 views
6

Tôi nhận được lỗi sau trong ứng dụng Roulett đơn giản, nơi tôi đang cố phát một số tệp wav. Tôi không chắc chắn những gì lỗi nghĩa vì không có lá cờ cảnh báo đưa ra trong các mã, và tôi đã nhậpTham chiếu Lỗi tới Hộp công cụ âm thanh trong Mục tiêu C

Dưới đây là lỗi:

Undefined symbols:
"_AudioServicesCreateSystemSoundID", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o "_AudioServicesPlaySystemSound", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o ld: symbol(s) not found collect2: ld returned 1 exit status
"_AudioServicesCreateSystemSoundID", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o "_AudioServicesPlaySystemSound", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o ld: symbol(s) not found collect2: ld returned 1 exit status

Và đây là đoạn code:

#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 = @""; 
} 

Trả lời

25

Tìm thấy nó. Nhận ra tôi đã không nhập Khung Công cụ AudioToolbox.Framework vào XCode. :)

Các vấn đề liên quan