我在这里遇到了一个非常相似的问题:链接 在 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 状态 = 0
我为 CFURLRef 尝试了许多不同的组合,就像您在注释掉的部分中看到的那样。
也许我的文件不被支持?在我得到解决方案后,我想用这种方式初始化 3 个 aif 格式的声音文件。
希望你能帮我!谢谢 :)
我已激活 ARC,并且使用的是 iOS 6.0.1 (iPhone)