Pregunta

Estoy usando Naudio para decodificar, jugar y grabar una corriente MP3.Para grabar, utilizo WasapiLoopbackCaptureDE para guardar el flujo a un archivo WAV:

if (waveIn == null) {
  waveIn = new WasapiLoopbackCapture();
  writer = new WaveFileWriter(outputFilename, waveIn.WaveFormat);
  waveIn.DataAvailable += new EventHandler<WaveInEventArgs>(waveIn_DataAvailable);
  waveIn.RecordingStopped += new EventHandler(waveIn_RecordingStopped);
  waveIn.StartRecording();
}

Ahora estoy buscando una solución para guardar el archivo WAV, no con 3072 kbit / s (lo que parece ser estándar para el wasapi).El flujo de MP3 proporciona 128 kbit / s, por lo que esta sería una buena división de bits para mi archivo WAV.Intenté modificar el waveIn.WaveFormat, pero no encontré las propiedades correctas.

¿Fue útil?

Solución

Lamentablemente Wasapi no le permite cambiar la tasa de muestra para la grabación de bucle invertido.Tienes que realizar tu propia tasa de muestra de conversión, después.Se pueden usar las clases de DmoResampler o generacodidiccode en Naudio para esto.

Otros consejos

No estoy familiarizado con las abstracciones de Naudio en Wasapi, pero puede forzar a Windows para brindarle el audio en una tasa de bits / muestre específica utilizando la API de Wasapi C ++. Si eso ayuda

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