Получение роботизированного и нарезанного звука при использовании EZOutputIOS

Программируем под IOS
Ответить
Anonymous
 Получение роботизированного и нарезанного звука при использовании EZOutput

Сообщение Anonymous »


Я использую EZOutput из EZAudio для вывода звука, который я получаю из аудиопотока (self.myAudioBufferList). Подумайте, LiveListen. У меня также есть базовое описание аудио (self.asbd!). Однако когда я устанавливаю метод mustFill источника данных EZOutput, я получаю роботизированную версию звука, которая обрезана, а некоторые ее части отсутствуют.

вывод функции (_ вывод: EZOutput!, mustFill audioBufferList: UnsafeMutablePointer!, кадры withNumberOfFrames: UInt32, метка времени: UnsafePointer!) -> OSStatus { если self.asbd != ноль { выход.inputFormat = self.asbd! } если self.audioBufferList != ноль { audioBufferList.pointee.mNumberBuffers = self.myAudioBufferList!.mNumberBuffers audioBufferList.pointee.mBuffers.mNumberChannels = self.myAudioBufferList!.mBuffers.mNumberChannels audioBufferList.pointee.mBuffers.mData = self.myAudioBufferList!.mBuffers.mData } еще { print("оно равно нулю, поэтому шум низкий") audioBufferList.pointee.mBuffers.mData = ноль } вернуть noErr; } Кроме того, если установлен audioBufferList mDataByteSize, качество ухудшается. В текущей конфигурации dataByteSize равен 4096, тогда как myAudioBufferList не является постоянным и колеблется, никогда не превышая 512.

audioBufferList.pointee.mBuffers.mDataByteSize = self.myAudioBufferList!.mBuffers.mDataByteSize Значение кадров, которое дает метод источника данных, имеет значение 1024.

Примечание: я также пытался предоставить inputFormat при создании экземпляра EZOutput, однако это никак не улучшает звук
// Назначаем делегата и источник данных общему экземпляру вывода для предоставления выходных аудиоданных self.ezOutput = EZOutput.init (источник данных: self, inputFormat: asbd) self.ezOutput?.delegate = self
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»