我似乎无法弄明白.
我可以播放一个声音:
- (void) initSounds { // Get the main bundle for the app CFBundleRef mainBundle; mainBundle = CFBundleGetMainBundle (); // Get the URL to the sound file to play soundFileURLRef = CFBundleCopyResourceURL (mainBundle,CFSTR ("1"),CFSTR ("wav"),NULL); // Create a system sound object representing the sound file AudioServicesCreateSystemSoundID (soundFileURLRef,&soundFileObject); } -(void) play { AudioServicesPlaySystemSound(self.soundFileObject); }
但我想创建一个SystemSoundID对象数组.当我尝试这样做时,我不断收到错误.任何人都可以告诉我创建soundFileObjects数组的代码以及我如何在AudioServicesPlaySystemSound中使用该数组?
解决方法
SystemSoundID是一个完整的非类型类型,所以你需要使用像
NSNumber
这样的包装器将它存储在像NSArray这样的Cocoa容器中:
// assuming this property: @property (copy) NSArray *soundFileObjects; // creating the array: soundFileObjects = [[NSArray alloc] initWithObjects: [NSNumber numberWithUnsignedLong:soundId],// more ? nil]; // using it,e.g.: SystemSoundID sid = [[self.soundFileObjects objectAtIndex:0] unsignedLongValue]; AudioServicesPlaySystemSound(sid);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。