Bose QuietComfort 35で常にMacbookマイクを使用する方法は?


30

マイクを内蔵したノイズキャンセリングヘッドフォン(Bose QC 35)があります。マイクがアクティブな場合、ノイズキャンセリングは機能せず、周囲の音を通過するだけです(これは仕様によるものです。話しているときに「真空」にいると感じないようにしたのです) 。

とにかく、問題は、ヘッドフォンをmacOSに接続するたびに、システムが内部マイクからヘッドフォンのマイクに切り替わることです。したがって、システム設定に移動してマイクを内部設定に戻さない限り、ノイズキャンセルは機能しません。

これは非常に面倒です。特にヘッドフォンを接続するたびにそれをしなければならないことを考えると。

macOSが常に内蔵マイクを使用するように強制する方法、または特定のヘッドフォンのマイクを使用しないようにする方法はありますか?

2017年10月からの更新:

そのため、「ヘッドフォン」のマイクが使用されているのは、Skypeの実行中にのみ発生することがわかりました。しかし、Skypeの使用を停止(または常時実行)して以来、問題は解消されました。

これは元の質問の解決策ではありません。今後の参考のためにここに残しておきます。


Bluetooth経由でヘッドフォンをどのように接続しますか?はいの場合、Bluetooth環境設定では、単一のデバイスとして、またはヘッドフォンとマイクの2つのデバイスのペアとしてどのように見えますか?
トマ

@toma the Bose QC 35はワイヤレスヘッドセットですが、電話コネクタ経由でも使用できます
-northsea

公式ウェブサイトで見られるように、@ northseaのこのヘッドフォンは、Bluetoothとオーディオワイヤの両方のインターフェイスをサポートしています。Bluetooth経由で接続すると、BT設定でどのように表示されますか?bose.com/en_us/products/headphones/over_ear_headphones/...
TOMA

@toma Bluetooth経由で使用しています、はい。ヘッドフォンとして表示されます。
kovpas

4
これは実際の解決策ではありませんが、Optionメニューバーの[サウンド]アイコンを押したままクリックし、リストから入力ソースを選択することにより、入力ソースをすばやく切り替えることができます。少なくともシステム環境設定を使用するよりも少し高速です。
aaplmath

回答:


6

これがどれほど実用的かはわかりませんが(CPU使用率などを測定する機会はありませんでした)、以下の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リソース消費を削減するために、チェック間の時間(コメントのある行)で遊ぶことができます。

AVFoundationmacOS High Sierraには、この問題に対するよりクリーンなソリューションを可能にする新しいAPI(特に)が多数あります。SwiftまたはObjective-C(またはAppleScriptとJXAのCocoaスクリプトブリッジ)に慣れている場合は、High Sierraがリリースされたら、このスクリプトの代わりにこれらのAPIの使用を検討します。具体的には、Appleのプログラミングガイドオーディオセッション、このスタックオーバーフローのポストは、使用してBluetooth接続を検出するためのいくつかのテクニックを示しましたAVAudioSession


ええ、まともな妥協のようです。私は本当にボーズがシエラで彼らの製品の良いサポートを考え出すことができないことに本当に失望しています...それまでは、このような回避策を使わなければならないようです:(。ありがとう!
-kovpas

@aaplmathこのスクリプトは本当に面白いです...そして、投稿の最後にその提案が本当に好きです。オーディオセッションを監視し、常に内部マイクに再ルーティングするメニューバーアプリ(またはヘッドレス)アプリケーションを作成することは、取り組むべき楽しいプロジェクトであり、もう少し堅牢になるかもしれません...(おそらく)それでも、私は好きですAppleScriptバージョンは、今日誰でも使用できるものだからです。ありがとう!
エヴァン・ストーン

18

私はまだ@aaplmathの提案が本当に好きです(そしてそれが今後最高のものかもしれません)が、私はHigh Sierraでコーディングを必要としないこのソリューション(AppleScript / Swift / ObjC / Other)につまずいただけで、それは非常に簡単に設定できます。

回答は記事のコメントセクションにあり、High Sierra(10.13.6)で動作するようですが、これがMojave以降で動作するかどうかはわかりません。

標準の「Audio MIDI Setup.app」ユーティリティを開き、下部の「+」をクリックして集約デバイスを作成します。次に、この集約デバイスの唯一のコンポーネントとして内部マイクを選択し、デフォルトの入力として選択します。何らかの理由で、これによりMac OS Xは今後Bluetoothマイクを選択できなくなり、再接続しても内蔵マイクのままになります。

その集約入力を作成した後、通常のシステム環境設定->サウンド->入力(タブ)に移動します

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


Bose QC 35 iiにも問題がありました。このソリューションは完全に機能します。ありがとうございました。
チャールズハン

これは、audiomxヘッドフォンでも動作します。
ダニーステープル

macOS Catalinaでは動作しないようです。私のAirPods v2が再びメインマイクになり、新しく作成されたアグリゲーションが何もブロックしないようです: '(
MoOx

Mojaveで動作しますが、カタリナはまだインストールされていません。Appleはおそらくこれを今は動かないものに変えたのだろう...とても残念だ。そうであれば、これが道の終わりであることを知っておくとよいでしょう...しかし、カタリナが元の問題を示しているように聞こえますが、そうであれば、それは非常に残念です。
エヴァン・ストーン

6

iOSシミュレーターを使用するときにこの問題が発生し、キーボードからのような音がします。私のBose 35は低品質のオーディオストリームに切り替わり、すべてがひどく聞こえます。

他の検索結果から、Macの内蔵マイクに切り替えると問題が解決することがわかりました。この質問に基づいて、私は自分のMacの設定を設定できない可能性があることに気付きましたが、iOSシミュレーターの設定は設定できます。

iOSシミュレータ:ハードウェア->オーディオ入力->内蔵マイク


-2

Bluetoothの代わりにケーブル経由でヘッドフォンを使用する場合、最も簡単な解決策は、TRRS(Tip + Ring + Ring + Sleeve)電話ジャックの代わりにTRS(Tip + Ring + Sleeve)電話ジャックのあるケーブルを使用することです。TRS電話ジャックはステレオ信号のみをサポートし、マイクはサポートしません。したがって、マイク信号は送信されず、内蔵マイクはアクティブのままになります。


1
いいえ、Bluetooth経由で使用しています。ワイヤレスは、最初にそれらを購入する主な理由でした:)
kovpas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.