播放音频项目的时候,出现问题
解决方法:
1、音频文件位置放入工程目录中,在 project->Build Phases->Copy Bundle Resources
中确认音频文件是否加入,如果没有,点击+,添加
2、确认代码执行中是否调用了使用
AudioServicesCreateSystemSoundID所在的函数
我的代码如下:
-(id)init{
self=[super initWithNibName:@"ViewController" bundle:nil];
if(self){
NSString *soundPath = [[NSBundle mainBundle]pathForResource:@"Sound12" ofType:@"aif"];
if(soundPath){
NSURL *soundURL =[NSURL fileURLWithPath:soundPath];
OSStatus err = AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &shortSound);
if(err!= kAudioServicesNoError){
NSLog(@"Could not load %@,error code:%d",soundURL,err);
}
}
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self init]; //出现的问题是没有在此处添加[self init]
[self.view setBackgroundColor:[UIColor whiteColor]];
[self initContent];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)initContent{
btn1.layer.borderColor=[UIColor grayColor].CGColor;
btn2.layer.borderColor=[UIColor grayColor].CGColor;
btn1.layer.borderWidth=0.3f;
btn2.layer.borderWidth=0.3f;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)playmusic:(id)sender {
//播放声音
AudioServicesPlaySystemSound((SystemSoundID)shortSound);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
经过这样修改之后,可以正常播放音频了。
如果还是会出现警告,是因为调用了
AudioServicesPlaySystemS
ound(kSystemSoundID_Vibrate);
屏蔽掉它或者忽略警告即可。