次のコードを実行すると、いつでも AudioConverterNew( ) でクラッシュします。しかし、pathForResource 行で PCM ファイル (例: Test02.aif) に変更すると、問題なく動作し、ファイルを再生できました。誰かが私に試してみることを提案できますか?
NSString *filePath = [[NSBundle mainBundle] pathForResource: @"Test01" ofType:@"m4a"];
CFURLRef audioURL = (__bridge CFURLRef) [NSURL fileURLWithPath:filePath];
// open the input audio file
AudioFileOpenURL(audioURL, kAudioFileReadPermission, 0, &gSourceAudioFileID);
AudioConverterRef myConverter;
// get file's asbd
UInt32 size;
AudioStreamBasicDescription fileASBD = {0};
size = sizeof(AudioStreamBasicDescription);
AudioFileGetProperty(gSourceAudioFileID,
kAudioFilePropertyDataFormat,
&size,
&fileASBD);
if (fileASBD.mFormatID == kAudioFormatMPEGLayer3) NSLog(@"its mp3");
NSLog(@"fileASDB formatId: %d", (unsigned int)fileASBD.mBytesPerFrame);
//NSLog(@"file formatId: %d", (unsigned int)fileASBD.mFormatID);
OSStatus error= AudioConverterNew(&fileASBD,
&thruFormat ,
&(myConverter));
NSLog(@"error: %d", (int)error);