AudioFileOpenUrl не работает
Я использую аудио-очередь Apple для воспроизведения аудиофайлов на моем компьютере. Я следовал их руководству, но у меня возникла проблема, когда я прошу пользователя ввести абсолютный путь для исследования аудиофайла. Вот мой код. Я надеюсь, что вы можете помочь мне... Я пытался найти в Google ответ, но все они есть или в Objective-C или в Swift, вместо этого я программирую это на C.
void getUrlofAudioFile(CBRAudioFileRef userData) {
char *filePath = NULL;
OSStatus result = noErr;
filePath = (char *)malloc(sizeof(char) * PATH_LIMIT);
fprintf(stdout, "Please insert the full pathname of the audio file.\nPathname: ");
fgets(filePath, PATH_LIMIT, stdin);
CFURLRef audioFileURL = CFURLCreateFromFileSystemRepresentation(NULL, (Byte *)filePath, strlen(filePath),
false);
if(!audioFileURL) printf("Can't parse file path.\n");
result = AudioFileOpenURL(audioFileURL, kAudioFileReadPermission, 0, &userData->queueId);
if(result != noErr) {
printf("Unable to open AudioFile\n");
exit(1);
}
CFRelease(audioFileURL);
free(filePath);
}
PS обратите внимание, что queueId является объектом AudioFileId, а PATH_LIMIT определен как 200
результат, после вызова AudioFileOpenUrl имеет значение 2003334207.