在 iPhone 上,我需要获取资源的路径。好的,做到了,但是当涉及到 CFURLCreateFromFileSystemRepresentation 的事情时,我只是不知道如何解决这个问题。为什么会出现这个错误?任何解决方案或解决方法将不胜感激。先感谢您。
为了在 iPhone 上使用 AudioQueue 播放音频,我查看了以下示例:SpeakHere、AudioQueueTools(来自 SimpleSDK 目录)和 AudioQueueTest。我试着做这做那,试图把谜题放在一起。现在,我陷入了困境。由于上面的 sndFile 抛出的异常,程序崩溃了。
我正在使用 AVAudioPlayer 在我的 iPhone 游戏中播放所有声音。在真正的 iPhone 设备上,当播放声音时结果非常滞后,所以我决定需要使用 AudioQueue。
- (id) initWithFile: (NSString*) argv{
if (self = [super init]){
NSString *soundFilePath = [[NSBundle mainBundle]
pathForResource:argv
ofType:@"mp3"];
int len = [soundFilePath length];
char* fpath = new char[len];
//this is for changing NSString into char* to match
//CFURLCreateFromFileSystemRepresentation function's requirement.
for (int i = 0; i < [soundFilePath length]; i++){
fpath[i] = [soundFilePath characterAtIndex:i];
}
CFURLRef sndFile = CFURLCreateFromFileSystemRepresentation
(NULL, (const UInt8 *)fpath, strlen(fpath), false);
if (!sndFile) {
NSLog(@"sndFile error");
XThrowIfError (!sndFile, "can't parse file path");
}
}