我一直在网上寻找一种在目标C中播放声音的方法,我已经找到了很多答案。然而,当我试图播放三个“苹果马赫-O链接错误”弹出。
这是我的代码:
viewController.m
-(IBAction)shoot{
tempSound *sound = [[tempSound alloc]init];
[sound playSound:@"test" :@"wav"]
}temosound.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;
@endtemosound.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提前感谢!
发布于 2013-01-12 15:08:42
您必须链接到AudioToolbox框架。(如果您使用的是Xcode,您可以在“构建阶段”部分的“Linkwith二进制”选项卡中添加;如果使用命令行工具链,则应该添加-framework AudioToolbox链接器标志。)
https://stackoverflow.com/questions/14294581
复制相似问题