Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c AudioFileOpen未以读/写权限打开_Objective C_Macos_Audio_Core Audio_Audio Streaming - Fatal编程技术网

Objective c AudioFileOpen未以读/写权限打开

Objective c AudioFileOpen未以读/写权限打开,objective-c,macos,audio,core-audio,audio-streaming,Objective C,Macos,Audio,Core Audio,Audio Streaming,我正在尝试以编程方式优化使用AudioFileOptimize()由iTunes或afconvert以外的软件创建的AAC文件(.m4a) 但是,当我尝试使用读/写权限打开AudioFileOpen时,它会给我一个错误。即使我手动将POSIX权限设置为0666(r/w适用于所有人),我也只能以读取权限打开 我正在使用所描述的方法并返回“prm”(kAudioFilePermissionsError) 以下是引发错误的代码: #import <Cocoa/Cocoa.h> #impor

我正在尝试以编程方式优化使用AudioFileOptimize()由iTunes或afconvert以外的软件创建的AAC文件(.m4a)

但是,当我尝试使用读/写权限打开AudioFileOpen时,它会给我一个错误。即使我手动将POSIX权限设置为0666(r/w适用于所有人),我也只能以读取权限打开

我正在使用所描述的方法并返回“prm”(kAudioFilePermissionsError)

以下是引发错误的代码:

#import <Cocoa/Cocoa.h>
#import <CoreFoundation/CoreFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
#import "CAXException.h"



int main(int argc, const char * argv[])
{

    int result = 0;

    try {

    //optimize the output file:
    AudioFileID outfile;

    NSURL *outputFileURL = [NSURL fileURLWithPath:@"/DIR/PATH TO.m4a"];

    OSStatus err = AudioFileOpenURL((__bridge CFURLRef)outputFileURL, kAudioFileReadWritePermission, 0, &outfile);
    XThrowIfError(err, "AudioFileOpenURL");

    err = AudioFileOptimize(outfile); //Optimize the file
    XThrowIfError(err, "AudioFileOptimize");

    err = AudioFileClose(outfile);
    XThrowIfError(err, "AudioFileClose");

    } catch (CAXException e) {
        char str[32];
        printf ("CAXException thrown from CoreAudioConverter.mm. : %s, %s\n", e.FormatError(str), e.mOperation);
        result = 1;
    } catch (...) {
        result = 1;
    }

    return result;
}
如果有人能帮忙,那就太棒了

旁注,是否有人以编程方式将流式提示添加到aac文件中


谢谢

音频文件服务不允许对某些文件进行写访问:

但是,在使用包含的MPEG-4文件类型时有一个限制。mp4(kaudiofilempe4type)、.m4a(kaudiofile4atype)、.3g2(kAudioFile3GP2Type)和.3gp(kAudioFile3GPType)

AudioFile当前不支持写入这些类型的现有文件

见:

CAXException thrown from CoreAudioConverter.mm. : 'prm?', AudioFileOpenURL