44 votos

¿Cómo utilizar siempre el micrófono del macbook con el Bose QuietComfort 35?

Tengo auriculares con cancelación de ruido (Bose QC 35), que también tienen micrófono incorporado. Si el micrófono está activo, la cancelación de ruido no funciona, sólo pasan los sonidos ambientales (esto es por diseño. Supongo que lo han hecho para que no sientas que estás en el "vacío" cuando hablas).

De todos modos, el problema es que cada vez que conecto mis auriculares a MacOS, el sistema cambia del micrófono interno al de los auriculares. Por lo tanto, la cancelación de ruido no funciona, a menos que vaya a la configuración del sistema y cambie el micrófono de nuevo al interno.

Esto es muy molesto, sobre todo teniendo en cuenta que tengo que hacerlo cada vez que conecto los auriculares.

¿Hay alguna manera de forzar a MacOS a usar siempre el micrófono interno, o a no usar el de los auriculares específicos?

Actualización de 10/2017:

Así que descubrí que "el micrófono de los auriculares se está utilizando" sólo ocurre cuando Skype está funcionando. Pero desde que dejé de usar Skype (o de tenerlo en funcionamiento todo el tiempo), el problema desapareció.

Esta no es la solución para la pregunta original, sólo la dejo aquí para la futura referencia.

36voto

Holly Holmes Puntos 31

Me sigue gustando mucho la sugerencia de @aaplmath (y puede que sea la mejor de cara al futuro), pero también acabo de tropezar con esta solución que no requiere codificación (AppleScript/Swift/ObjC/Otro) en High Sierra, y es súper fácil de configurar.

Tenga en cuenta que la respuesta fue en la sección de comentarios del artículo y parece que funciona en High Sierra (estoy en 10.13.6), pero no sé si esto funciona en Mojave y posteriores.

Abre la utilidad estándar "Audio MIDI Setup.app", y haz clic en el + de la parte inferior para crear un Dispositivo Agregado. A continuación, seleccione el micrófono interno como único componente de este dispositivo agregado y selecciónelo como entrada por defecto. Por alguna razón, esto evita que Mac OS X seleccione el Micrófono Bluetooth a partir de ahora y se quedará en el interno cuando se vuelva a conectar.

Después de crear esa entrada agregada, ve a tus Preferencias del Sistema habituales -> Sonido -> Entrada (pestaña)

Fuente: http://ssrubin.com/posts/fixing-MacOS-bluetooth-headphone-audio-quality-issues-with-hammerspoon.html#comment-4018174387

9voto

aaplmath Puntos 599

No estoy seguro de lo práctico que es esto (no he tenido la oportunidad de medir el uso de la CPU, etc.), pero el siguiente AppleScript hará el trabajo-sólo tiene que reemplazar [YOUR HEADPHONES' NAME] con el nombre real de tus auriculares. Esta es una versión modificada de un script de un Hilo de las Comunidades de Soporte de Apple .

Guarde el script que aparece a continuación como una aplicación, ejecútelo y añádalo a sus elementos de inicio: debería ejecutarse continuamente en segundo plano.

repeat
    set statusOld to checkStatus()
    set statusNew to checkStatus()
    repeat while statusOld is equal to statusNew
        delay 5 --for 5 second checks
        set statusNew to checkStatus()
    end repeat
    if statusNew is true then
        tell application "System Preferences" to activate
        tell application "System Preferences"
            reveal anchor "input" of pane id "com.apple.preference.sound"
        end tell
        delay 0.5
        tell application "System Events" to tell process "System Preferences"
            tell table 1 of scroll area 1 of tab group 1 of window 1
                select (row 1 where value of text field 1 is "Internal Microphone")
            end tell
        end tell
        tell application "System Preferences" to quit
    else
        -- Nothing needs to happen, the device was removed
    end if
end repeat

on checkStatus()
    set bluetoothDeviceName to "[YOUR HEADPHONES' NAME]"
    set myString to do shell script "system_profiler SPBluetoothDataType"

    --initial check if it's not even there
    if myString does not contain bluetoothDeviceName then
        return false
    else

        --find out if connected/disconnected
        set AppleScript's text item delimiters to "name:"
        set myList to the text items of myString --each item of mylist is now one of the devices

        set numberOfDevices to count of myList
        set counter to 1
        repeat numberOfDevices times --loop through each devices checking for Connected string
            if item counter of myList contains bluetoothDeviceName then
                if item counter of myList contains "Connected: Yes" then
                    return true
                else if item counter of myList contains "Connected: No" then
                    return false
                else
                    display dialog "Something went wrong with the script" --this shouldn't happen
                end if
            end if
            set counter to counter + 1
        end repeat
    end if
end checkStatus

Se puede jugar con el tiempo entre comprobaciones (la línea con el comentario for 5 second checks ) para reducir el consumo de recursos.

Hay una serie de nuevas APIs (especialmente en AVFoundation ) que llega a macOS High Sierra y que permitiría una solución mucho más limpia a este problema. Si te sientes cómodo con Swift u Objective-C (o con el puente de scripting de Cocoa en AppleScript y JXA), yo miraría de usar esas APIs en lugar de este script una vez que High Sierra sea lanzado. En particular, la API de Apple Guía de programación de sesiones de audio y este post de Stack Overflow muestran algunas técnicas de detección de conexiones Bluetooth mediante AVAudioSession .

6voto

noonex Puntos 160

Tengo este problema cuando uso el simulador de iOS y hace cualquier sonido, como el de un teclado. Mis Bose 35 cambian a un flujo de audio de menor calidad y todo suena fatal.

A partir de otros resultados de búsqueda encontré que cambiar al micrófono interno de mi Mac soluciona el problema. En base a esta pregunta, me di cuenta de que tal vez no pueda establecer la configuración para mi mac, pero puedo establecerlos para mi Simulador de iOS.

Simulador iOS: Hardware -> Entrada de audio -> Micrófono interno

0voto

id10trandy Puntos 1

¡Esto me pasó en BigSur y es lo peor! No pude averiguar y probé de todo aquí, sin resultados. Lo que me funcionó fue entrar en las preferencias de la aplicación Zoom seleccionando el micrófono interno del Bose QC 35 por defecto y bingo, no hay audio cutre.

-3voto

northsea Puntos 48

Si utilizas tus auriculares por cable en lugar de por bluetooth, la solución más sencilla debería ser utilizar un cable con una toma de teléfono TRS (Tip + Ring + Sleeve) en lugar de una toma de teléfono TRRS (Tip + Ring + Sleeve). La toma de teléfono TRS sólo admite señal estéreo, pero no de micrófono. Por lo tanto, no se transmitirá ninguna señal de micrófono y el micrófono incorporado deberá permanecer activo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X