iTunes以外のソフトウェアまたはAudioFileOptimize()を使用してafconvertで作成されたAACファイル(.m4a)をプログラムで最適化しようとしています。
ただし、読み取り/書き込み権限でAudioFileOpenを実行しようとすると、エラーが発生します。POSIXアクセス許可を手動で0666(すべてのユーザーのr / w)に設定した場合でも、読み取りアクセス許可でのみ開くことができます。
ここで説明するAudioFileOpenUrlメソッドを使用して、「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
誰かが助けることができれば、それは素晴らしいでしょう!
ちなみに、AACファイルにストリーミングヒントをプログラムで追加する作業をした人はいますか?
ありがとう!