IOS AVAudioRecorder, Cómo grabar sólo cuando la entrada de audio actual (no el silencio)

StackOverflow https://stackoverflow.com/questions/3855919

  •  27-09-2019
  •  | 
  •  

Pregunta

Estoy usando AVAudioRecorder a grabar audio desde micrófono del iPhone pero quiero descartar los períodos de silencio: iniciar la grabación al detectar sonido y grabación en la próxima parada cuando el silencio

.

No se puede encontrar la manera de hacer eso

Cualquier consejo?

Gracias!

¿Fue útil?

Solución 2

He encontrado el camino basado en servicios de cola de audio. Es mucho más complicado, pero mucho más divertido también como definir sus memorias intermedias de cola para los paquetes de audio entrantes.

Es necesario definir la devolución de llamada cuando la memoria intermedia si está lleno, por lo que tiene el buffer lleno de paquetes que se pueden procesar como desee, en mi caso de detectar silencio y unas cuantas cosas más.

Más tarde tener más tiempo mal puesto la solución. Si alguien instó a que apenas puedo esperar envíeme un correo electrónico y los malos estarán encantados de ayudarle.

Comprobar SPEAKHERE ejemplo aquí: http: // desarrollador. apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html

Otros consejos

Tal vez usted podría utilizar el apoyo de la AVAudioRecorder para la medición del nivel de audio para realizar un seguimiento de los niveles de audio y activar la grabación cuando los niveles están por encima de un determinado umbral. Se necesitaría para permitir la medición con:

[anAVAudioRecorder setMeteringEnabled:YES];

y entonces se podría llamar periódicamente:

[anAVAudioRecorder updateMeters];
power = [anAVAudioRecorder averagePowerForChannel:0];
if (power > threshold && anAVAudioRecorder.recording==NO) {
    [anAVAudioRecorder record];
} else if (power < threshold && anAVAudioRecorder.recording==YES) {
    [anAVAudioRecorder stop];
}

O algo por el estilo.

Se puede determinar el nivel de audio de fondo mediante el registro en un archivo de basura antes de iniciar la grabación de verdad:

AVAudioRecorder deja de funcionar cuando se escribe a / dev / null en 5s iPhone con iOS 7

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top