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.

0 ответов

Другие вопросы по тегам