Я пытаюсь записать файл PCM с прямым порядком байтов с помощью AudioQueue.В соответствии с документами я должен очистить бит kAudioFormatFlagIsBigEndian в AudioStreamBasicDescripton.mFormatFlags.
Документы говорят:
kAudioFormatFlagIsBigEndian.Устанавливается для старшего, ясного для младшего.
Моя установка выглядит как
- (void)setupAudioFormat:(AudioStreamBasicDescription*)format
{
//format->mSampleRate = 8000.0;
format->mSampleRate = 44000.0;
format->mFormatID = kAudioFormatLinearPCM;
format->mFramesPerPacket = 1;
format->mChannelsPerFrame = 2;
format->mBytesPerFrame = format->mBytesPerPacket = format->mChannelsPerFrame * sizeof(SInt16);
format->mBitsPerChannel = 16;
format->mReserved = 0;
format->mFormatFlags = ~kAudioFormatFlagIsBigEndian | kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked | kAudioFormatFlagIsAlignedHigh;
}
Я получаю ошибку
kAudioFileUnsupportedDataFormatError
Может ли кто-нибудь помочь мне разобраться в чем дело?Можно ли даже записать порядок байтов на устройстве iOS?Одной из альтернатив записи с прямым порядком байтов будет преобразование файла позже, чтобы любые намеки на это также были бы весьма ценными.