我遇到了类似的问题:link 在ViewController.h文件中,我添加了这个:
#import <UIKit/UIKit.h>
#include <AudioToolbox/AudioToolbox.h>
@interface ViewController : UIViewController
@property SystemSoundID outSystemSoundID1;
@end
并在ViewController.m中:
#import <ViewController.h>
@interface ViewController ()
- (IBAction)playtrack;
@end
@implementation ViewController
@synthesize outSystemSoundID1;
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"1000Hz-0-4sec" ofType:@"wav"];
NSURL *url1 = [NSURL fileURLWithPath:path1];
//CFURLRef lol = (CFURLRef)objc_unretainedPointer(url1);
//AudioServicesCreateSystemSoundID( lol, &outSystemSoundID1);
OSStatus status = AudioServicesCreateSystemSoundID((__bridge CFURLRef)url1, &outSystemSoundID1);
NSLog(@"AudioServicesCreateSystemSoundID status = %ld", status);
}
- (IBAction)playtrack {
AudioServicesPlaySystemSound (outSystemSoundID1);
}
@end
我要播放的声音文件位于支持文件下。
OSStatus说:
AudioServicesCreateSystemSoundID status = 0
我试过CFURLRef许多不同的组合,就像你在评论部分看到的一样。
也许我的文件不受支持?在我得到解决方案后,我想以这种方式初始化aif格式的3个声音文件。
希望你能帮助我!谢谢:))我已激活ARC,而且我使用的是iOS 6.0.1(iPhone)
答案 0 :(得分:3)
OSStatus = 0
表示“无错误”,表示函数AudioServicesCreateSystemSoundID
成功。