2015-11-24 2 views
2

Я пытаюсь добавить больше выигрыша в AVAudioSession.Добавить выигрыш в AVAudiosession iOS

Я использую AVAssetWriter для записи видео со звуком, но я хотел бы добавить больше усиления звука.

Я видел, есть метод в AVAudioSession для установки inputGain, но оно должно быть в пределах от 0 до 1.

[[AVAudioSession sharedInstance] setInputGain:2.0 error:nil]; 

Есть ли способ, чтобы добавить больше получить, даже если я должен потерять качество?

Благодаря

ответ

0

Наконец я получил это с помощью рамки AudioUnit

1

Вы могли бы увеличить прибыль самостоятельно, изменяя поступающий звуковой LPCM CMSampleBuffer сек, прежде чем передать их в AVAssetWriter. NB: AVCaptureSession может не понравиться вам, модифицируя его буферы, поэтому вам может понадобиться их дублирование до изменение.

В качестве альтернативы, вы можете получить больше выгоды, используя AVAudioSessionModeMeasurement:

NSError *error; 
if (![[AVAudioSession sharedInstance] setMode:AVAudioSessionModeMeasurement error:&error]) { 
    // Error 
} 

которого

Подходит для приложений, которые хотят, чтобы свести к минимуму влияния системы поставляемого сигнала обработки для ввода и/или выходных аудиосигналов.

+0

Я теряю усиление с помощью AVAudioSessionModeMeasurement. Должен ли я делать это по-другому? Есть ли у вас пример для модификации CMSampleBuffer? –

+0

Использует рамки audiounit? –