MacBook mikrofonu her zaman Bose QuietComfort 35 ile nasıl kullanılır?


30

Gürültü önleyici kulaklıklarım (Bose QC 35) var, ayrıca mikrofon yerleşik. Mikrofon etkinse, gürültü engelleme işe yaramaz, sadece ortam seslerinden geçerler (bu tasarım gereğidir. .

Her neyse, sorun şu ki, kulaklıklarımı macOS'a bağladığımda, sistem dahili mikrofondan kulaklıkların mikrofonuna geçiyor. Bu nedenle, sistem ayarlarına gidip mikrofonu dahili ayara geri çevirmediğim sürece gürültü engelleme çalışmaz.

Özellikle kulaklıkları her taktığımda bunu yapmak zorunda olduğum göz önüne alındığında, bu çok can sıkıcı bir durum.

MacOS'u her zaman dahili mikrofonu kullanmaya veya belirli kulaklıkların mikrofonunu kullanmaya zorlamanın bir yolu var mı?

10/2017'den güncelleme:

Bu yüzden "kulaklık mikrofonu kullanıldığını" ancak Skype çalışırken gerçekleştiğini öğrendim. Ama Skype kullanmayı bıraktığımdan beri (ya da sürekli çalışmasını sağladığımdan beri) sorun ortadan kalktı!

Bu orijinal sorunun çözümü değil, sadece ileride başvurmak üzere burada bırakıyorum.


Bluetooth üzerinden kulaklığınızı nasıl bağlarsınız? Evetse, Bluetooth Tercihleri'nde, tek bir cihaz olarak mı, yoksa iki cihaz, kulaklık + mikrofon olarak nasıl görünüyor?
toma

@ toma the Bose QC 35 kablosuz bir kulaklıktır, ancak telefon konektörü ile de kullanılabilir
northsea

@northsea resmi web sitesinde görebildiğim gibi, bu kulaklıklar hem arayüzleri, bluetooth'u hem de ses kablosunu destekler. Bluetooth ile bağlarsanız BT tercihleri ​​nasıl görüntülenir? bose.com/en_us/products/headphones/over_ear_headphones/...
toma

@tom onları bluetooth ile kullanıyorum, evet. Kulaklık olarak gösterilirler.
kovpas

4
Bu gerçek bir çözüm değildir, ancak Optionmenü çubuğunuzdaki Ses simgesini basılı tutup listeden bir giriş kaynağı seçerek giriş kaynaklarını hızla değiştirebilirsiniz . En azından Sistem Tercihlerini kullanmaktan biraz daha hızlı.
aaplmath

Yanıtlar:


6

Bunun ne kadar pratik olduğundan emin değilim (CPU kullanımını ölçme şansım olmadı vs.), ancak aşağıdaki AppleScript işi yapacak - sadece [YOUR HEADPHONES' NAME]kulaklığınızın gerçek adıyla değiştirin . Bu, Apple Destek Toplulukları iş parçacığından bir komut dosyasının değiştirilmiş sürümüdür .

Aşağıdaki komut dosyasını bir uygulama olarak kaydedin, çalıştırın ve başlangıç ​​öğelerinize ekleyin; arka planda sürekli olarak çalışmalıdır.

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 checksKaynak tüketimini azaltmak için kontroller arasındaki zamanla (yorum içeren satır ) oynayabilirsiniz .

AVFoundationMacOS High Sierra'ya gelen ve bu soruna çok daha temiz bir çözüm sağlayacak bir dizi yeni API (özellikle ) var. Swift veya Objective-C (veya AppleScript ve JXA'daki Cocoa komut dosyası köprüsü) ile rahat olursanız, High Sierra yayınlandıktan sonra bu komut dosyası yerine bu API'ları kullanmayı düşünürüm. Özellikle, Apple'ın Ses Oturumu Programlama Kılavuzu ve bu Yığın Taşması gönderisi , kullanarak Bluetooth bağlantılarını algılamak için bazı teknikleri gösterir AVAudioSession.


Evet, iyi bir uzlaşma gibi görünüyor. Gerçekten hayal kırıklığına uğradım Bose hala Sierra'da ürünlerinin iyi bir desteğini
bulamıyor

@aaplmath Senaryo gerçekten ilginç ... ve yazının sonunda bu öneriyi gerçekten seviyorum. Ses oturumunu izleyen ve her zaman dahili mikrofona yeniden yönlendiren bir menü çubuğu uygulaması (veya başsız) uygulaması yazmak, üzerinde çalışmak eğlenceli ve biraz daha sağlam olabilir ... (belki) Ama yine de beğendim AppleScript sürümü çünkü herkesin bugün kullanabileceği bir şey. Teşekkürler!
Evan Stone

18

Hala @ aaplmath'ın önerisini gerçekten seviyorum (ve bu en iyi olanı olabilir), ancak aynı zamanda High Sierra'da kodlama (AppleScript / Swift / ObjC / Diğer) gerektirmeyen bu çözümde tökezledim ve yapılandırması çok kolay .

Cevabın makalenin yorum bölümünde olduğunu ve High Sierra (10.13.6'da çalışıyorum) üzerinde çalıştığı görülüyor, ancak bunun Mojave ve ötesinde çalışıp çalışmadığını bilmiyorum.

Standart "Audio MIDI Setup.app" yardımcı programını açın ve bir Toplam Aygıt oluşturmak için alttaki + işaretini tıklayın. Ardından, bu toplu cihazdaki tek bileşen olarak Dahili Mikrofonu seçin ve varsayılan giriş olarak seçin. Bazı nedenlerden dolayı, Mac OS X'in artık Bluetooth Mikrofonu seçmesini önler ve yeniden bağlandığınızda dahili olanda kalır.

Bu toplu girişi oluşturduktan sonra, her zamanki Sistem Tercihleri ​​-> Ses -> Giriş (sekme)

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


Bose QC 35 ii ile de sorunum vardı. Bu çözüm mükemmel çalışıyor. Teşekkür ederim.
Charles Han

Bu, audiomx kulaklıklarla da çalışır.
Danny Staple

MacOS Catalina üzerinde çalışmıyor gibi görünüyor.
AirPods v2'm

Mojave'de çalışıyor ve Catalina yüklü değil. Apple muhtemelen bunun çalışmamasına neden olan bir şeyi değiştirdi ... çok hayal kırıklığı yaratıyor. Durum böyleyse yolun sonu olduğunu bilmek güzel ... Catalina da orijinal sorunu gösteriyor gibi görünüyor ve eğer öyleyse, bu da çok hayal kırıklığı yaratıyor.
Evan Stone

6

İOS Simulator'ı kullanırken bu sorunum var ve klavyeden olduğu gibi herhangi bir ses çıkarıyor. My Bose 35'in ses kalitesi daha düşük ve her şey berbat geliyor.

Diğer arama sonuçlarından Mac'imin dahili mikrofonuna geçmenin sorunu çözdüğünü buldum. Bu soruya dayanarak, mac'um için ayarı ayarlayamayabileceğimi fark ettim, ancak bunları iOS Simulator'ım için ayarlayabilirim.

iOS Simülatörü: Donanım -> Ses Girişi -> Dahili Mikrofon


-2

Kulaklığınızı bluetooth yerine kabloyla kullanırsanız, en basit çözüm, TRRS (İpucu + Yüzük + Yüzük + Kılıf) telefon jakı yerine TRS (İpucu + Yüzük + Kılıf) telefon jakına sahip bir kablo kullanmak olmalıdır. TRS telefon jakı yalnızca Stereo sinyalini destekler, ancak mikrofonu desteklemez. Böylece hiçbir mikrofon sinyali iletilmez ve dahili mikrofon aktif kalmalıdır.


1
Hayır, onları bluetooth ile kullanıyorum. Kablosuz onları ilk etapta satın almanın ana nedeniydi :)
kovpas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.