我試圖以編程方式優化由iTunes以外的軟件創建的AAC文件(.m4a),或者使用AudioFileOptimize()轉換爲afconvert。AudioFileOpen不能以讀取/寫入權限打開
但是,當我試圖做一個AudioFileOpen讀/寫權限,它給了我一個錯誤。即使我手動將POSIX權限設置爲0666(每個人都是r/w),我也只能打開讀取權限。
我正在使用AudioFileOpenUrl方法here並取回'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;
}
此輸出:
CAXException thrown from CoreAudioConverter.mm. : 'prm?', AudioFileOpenURL
如果有人可以幫助,這將是真棒!
Side-note,有沒有人通過編程向aac文件添加流提示?
謝謝!