Як завжди використовувати мікрофон macbook за допомогою Bose QuietComfort 35?


30

У мене є навушники для зменшення шуму (Bose QC 35), які також мають вбудований мікрофон. Якщо мікрофон активний, шумозаглушення не працює, вони просто пропускають навколишні звуки (це задумано. Я гадаю, що вони зробили це, щоб ви не відчували, що перебуваєте у "вакуумі", коли ви розмовляєте) .

У будь-якому випадку, проблема полягає в тому, що коли я підключаю навушники до macOS, система переходить з внутрішнього мікрофона на навушник. Тому відміна шуму не працює, якщо я не перейду до системних налаштувань і не переключу мікрофон на внутрішній.

Це дуже дратує, особливо враховуючи, що мені доводиться робити це кожного разу, коли я підключаю навушники.

Чи можна змусити macOS завжди використовувати внутрішній мікрофон чи не використовувати конкретний навушник?

Оновлення від 10/2017:

Тож я з'ясував, що "мікрофон навушників використовується" відбувається лише тоді, коли працює Skype. Але з тих пір, як я перестав користуватися Skype (або постійно працював), проблеми не було!

Це не рішення вихідного питання, я просто залишаю його тут для подальшого ознайомлення.


Як підключити навушники через Bluetooth? Якщо так, як це виглядає в налаштуваннях Bluetooth, як окремий пристрій, або як пара двох пристроїв, навушники та мікрофон?
тома

@toma the Bose QC 35 - це бездротова гарнітура, але її можна використовувати також через роз'єм телефону
northsea

@northsea, як я бачу на офіційному веб-сайті, ці навушники підтримують інтерфейси, Bluetooth та аудіопровід. тож якщо ви підключите їх через Bluetooth, як вони відображаються у префіксах BT? bose.com/en_us/products/headphones/over_ear_headphones/…
toma

@toma Я використовую їх через Bluetooth, так. Вони показані як навушники.
ковпас

4
Це не є фактичним рішенням, але ви можете швидко перемикати джерела введення, утримуючи Optionта натискаючи піктограму Звук на панелі меню, а потім вибираючи джерело вхідного джерела зі списку. Це трохи швидше, ніж принаймні використання системних налаштувань.
aaplmath

Відповіді:


6

Я не впевнений, наскільки це практично (у мене не було можливості виміряти використання процесора тощо), але нижче наведений AppleScript зробить цю роботу - просто замініть [YOUR HEADPHONES' NAME]фактичну назву ваших навушників. Це модифікована версія сценарію з потоку Apple Support Communities .

Збережіть сценарій нижче як додаток, запустіть його та додайте його до елементів запуску - він повинен працювати постійно у фоновому режимі.

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

Ви можете грати з часом між чеками (рядок із коментарем for 5 second checks), щоб зменшити споживання ресурсів.

Існує ряд нових API (особливо в AVFoundation), які надходять до macOS High Sierra, які дозволять значно чіткіше вирішити цю проблему. Якщо вам подобається Swift або Objective-C (або сценарій сценарію какао в AppleScript і JXA), я б розглядав можливість використання цих API замість цього сценарію, як тільки вийде High Sierra. Зокрема, посібник з програмування аудіо сеансу Apple і цей пост переповнення стека показують деякі методи виявлення Bluetooth-з'єднань за допомогою AVAudioSession.


Так, це виглядає як гідний компроміс. Я дуже розчарований, Bose досі не може придумати гарну підтримку свого продукту на Сьєррі ... До тих пір, здається, мені доведеться використовувати обхідні шляхи, як це :(. Дякую!
kovpas

@aaplmath Сценарій дуже цікавий ... і мені дуже подобається ця пропозиція в кінці вашого допису. Написання програми (або безголового) для рядка меню, яке відстежує аудіо сесію та завжди перенаправляє до внутрішнього мікрофона, було б цікавим проектом, над яким можна працювати, і може бути трохи більш надійним ... (можливо) Але все ж мені подобається версія AppleScript, тому що це те, що кожен сьогодні може просто використовувати. Спасибі!
Еван Стоун

18

Мені все-таки подобається пропозиція @ aaplmath (і це може бути найкращим), але я також просто натрапив на це рішення, яке не потребує кодування (AppleScript / Swift / ObjC / Other) у High Sierra, і це дуже просто налаштувати .

Зверніть увагу, що відповідь була у розділі коментарів до статті, і, здається, це працює на Високій Сьєррі (я 10.13.6), але я не знаю, чи це працює на Мохаве та за її межами.

Відкрийте стандартну утиліту "Audio MIDI Setup.app" і натисніть кнопку + внизу, щоб створити агрегатний пристрій. Потім виберіть Внутрішній мікрофон як єдиний компонент у цьому агрегатному пристрої та виберіть його як вхід за замовчуванням. Чомусь це заважає Mac OS X вибирати мікрофон Bluetooth відтепер, і він залишатиметься на внутрішньому, коли ви знову підключитесь.

Створивши цей сукупний вхід, перейдіть до звичайних системних налаштувань -> Звук -> Введення (вкладка)

Джерело: http://ssrubin.com/posts/fixing-macos-bluetooth-headphone-audio-quality-isissue-with-hammerspoon.html#comment-4018174387


У мене також були проблеми з Bose QC 35 ii. Це рішення працює чудово. Дякую.
Чарльз Хан

Це працює і з навушниками Audiomx.
Danny Staple

Схоже, не працює на macOS Каталіна. Мій AirPods v2 знову стає основним мікрофоном, а новостворена агрегація ніби нічого не блокує: '(
MoOx

Він працює в Мохаве, і у мене ще не встановлена ​​Каталіна. Apple, ймовірно, змінила щось, через що зараз це не працює ... дуже невтішно. Приємно знати, що це кінець дороги, якщо це так ... Але також звучить, що Каталіна виявляє оригінальну проблему, однак, і якщо так, це теж дуже невтішно.
Еван Стоун

6

У мене ця проблема під час використання iOS Simulator, і вона видає будь-який звук, як з клавіатури. My Bose 35 переходить на аудіопотік нижчої якості, і все звучить жахливо.

З інших результатів пошуку я виявив, що перехід на внутрішній мікрофон мого Mac усуває проблему. Виходячи з цього питання, я зрозумів, що, можливо, не вдасться встановити настройки для свого mac, але можу встановити їх для свого iOS Simulator.

iOS Simulator: Обладнання -> Аудіовхід -> Внутрішній мікрофон


-2

Якщо ви використовуєте навушники через кабель замість Bluetooth, найпростішим рішенням має бути використання кабелю з роз'ємом для телефону TRS (наконечник + дзвінок + рукав) замість гнізда TRRS (наконечник + дзвінок + кільце + рукав). Гніздо телефону TRS підтримує лише стереосигнал, але не має мікрофона. Таким чином, сигнал мікрофона не передаватиметься, а вбудований мікрофон повинен залишатися активним.


1
Ні, я використовую їх через Bluetooth. Бездротовий зв'язок був основною причиною їх придбання в першу чергу :)
ковпас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.