我一直在网上搜索一种在Objective C中播放声音的方法,并且找到了很多答案。但是,当我尝试播放某些内容时,会弹出三个“Apple Mach-O Linker Errors”。
这是我的代码:
viewController.m
-(IBAction)shoot{
tempSound *sound = [[tempSound alloc]init];
[sound playSound:@"test" :@"wav"]
}
tempSound.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
@interface tempSound : NSObject{
SystemSoundID audioEffect;
}
-(void)playSound: (NSString*) fName : (NSString*) ext;
@end
tempSound.m
@implementation tempSound
-(void)playSound:(NSString *)fName :(NSString *)ext
{
NSString *path = [[NSBundle mainBundle] pathForResource : fName ofType :ext];
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
NSURL *pathURL = [NSURL fileURLWithPath:path];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)pathURL, &audioEffect);
AudioServicesPlaySystemSound(audioEffect);
}
else{
NSLog(@"Error, file not found: %@",path);
}
}
@end
提前致谢!
最佳答案
您必须链接到AudioToolbox框架。 (如果使用的是Xcode,则可以在“构建阶段”部分的“与二进制文件链接”选项卡中添加它;如果使用的是命令行工具链,则应添加-framework AudioToolbox
链接器标志。)
关于objective-c - 如何使用AudioServices播放声音效果- objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14294581/