Leo*_*tik 3 audio objective-c ios ios6
我在stackoverflow上找到了这么多解决方案,但由于某些原因,所有这些都无法产生任何声音.
这是我目前的代码:
PRE: I've added AudioToolbox.framework and imported <AVFoundation/AVFoundation.h> in my .m file
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL* sndurl = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"aif"];
SystemSoundID snd;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)sndurl, &snd);
AudioServicesAddSystemSoundCompletion(snd, nil, nil, SoundFinished, nil);
AudioServicesPlaySystemSound(snd);
}
void SoundFinished (SystemSoundID snd, void* context) {
AudioServicesRemoveSystemSoundCompletion(snd);
AudioServicesDisposeSystemSoundID(snd);
}
Run Code Online (Sandbox Code Playgroud)
这个解决方案直接出书.但是当我运行项目时,如果没有产生任何声音.我的文件是test.aif,长度为5秒.
有什么建议为什么它不起作用?如果这不是最好的解决方案,你如何在iOS6上产生声音?
根据这个主题和其他人,播放音频剪辑可以像下面一样简单,我使用方法(功能).我在自己之前做过.
- (void)playAudio {
[self playSound:@"pageflip1" :@"wav"];
}
- (void)playSound :(NSString *)fName :(NSString *) ext{
SystemSoundID audioEffect;
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);
}
}
Run Code Online (Sandbox Code Playgroud)