Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

406
Views
audioEngine.start () arroja una excepción cuando se llama



Problema
Estoy tratando de grabar datos del micrófono usando AVAudioEngine. Esta es mi configuración.

Primero creo una sesión singleton, establezco la categoría de sesiones y la activo.

 let audioSession = AVAudioSession.sharedInstance() do { try audioSession.setCategory(.record) try audioSession.setActive(true) } catch { ... }

Después de eso, creo el formato de entrada para el bus 0, conecto los nodos de entrada y salida e instalo el toque en el nodo de entrada (también intenté tocar el nodo de salida)

 let inputFormat = self.audioEngine.inputNode.inputFormat(forBus: 0) self.audioEngine.connect(self.audioEngine.inputNode, to: self.audioEngine.outputNode, format: inputFormat) self.audioEngine.outputNode.installTap(onBus: 0, bufferSize: bufferSize, format: inputFormat) { (buffer, time) in let theLength = Int(buffer.frameLength) var samplesAsDoubles:[Double] = [] for i in 0 ..< theLength { let theSample = Double((buffer.floatChannelData?.pointee[i])!) samplesAsDoubles.append( theSample ) } ... }

Todo lo anterior está en una sola función. También tengo otra función llamada startRecording que contiene lo siguiente.

 do { try audioEngine.start() } catch { ... }

También he verificado los permisos de micrófono que se otorgan.

El método de inicio falla y esta es la respuesta

 The operation couldn't be completed. (com.apple.coreaudio.avfaudio error -10875.)


Preguntas
Según la documentación, hay tres causas posibles

 - There's a problem in the structure of the graph, such as the input can't route to an output or to a recording tap through converter nodes. - An AVAudioSession error occurs. - The driver fails to start the hardware. ``` I don't believe it's the session one, because i set it up via documentation. If the driver fails, how would i detect that and handle it? If graph is setup incorrectly, where did i mess it up?
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Si desea grabar el micrófono, conecte el toque al nodo de entrada, no al nodo de salida. Los grifos observan la salida de un nodo. No hay "salida" del nodo de salida. Es el fregadero.

Si necesita instalar un grifo "inmediatamente antes del nodo de salida" (que podría no ser el nodo de entrada en un gráfico más complicado), puede insertar un mezclador entre la(s) entrada(s) y la salida y conectar el grifo al mezclador.

Además, asegúrese de que realmente desea conectar el nodo de entrada al nodo de salida aquí. No hay necesidad de hacerlo a menos que desee reproducir audio en vivo. Simplemente puede adjuntar un toque al nodo de entrada sin construir más el gráfico si solo desea grabar el micrófono. (Esto también podría estar causando parte de su problema, ya que configuró su categoría en .record , es decir, sin reproducción. No sé si conectar algo a la salida en ese caso causa una excepción, pero definitivamente no tiene sentido .)

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!