हमेशा मैकबुक माइक्रोफोन का उपयोग बोस क्वाइटफोर्ट 35 के साथ कैसे करें?


30

मेरे पास हेडफ़ोन रद्द करने का शोर है (बोस क्यूसी 35), जिसमें माइक्रोफ़ोन बिल्ट-इन भी है। यदि माइक्रोफ़ोन सक्रिय है, तो शोर रद्द करना काम नहीं करता है, वे बस परिवेशी ध्वनियों से गुजरते हैं (यह डिज़ाइन द्वारा है। मुझे लगता है, उन्होंने ऐसा किया था कि आपको यह महसूस नहीं होगा कि आप "वैक्यूम" में हैं जब आप बात कर रहे हैं) ।

वैसे भी, समस्या यह है कि जब भी मैं अपने हेडफ़ोन को macOS से कनेक्ट करता हूं, तो सिस्टम आंतरिक माइक्रोफोन से हेडफ़ोन पर स्विच हो जाता है। इसलिए, शोर रद्द करने से काम नहीं चलता, जब तक कि मैं सिस्टम सेटिंग्स में नहीं जाता और माइक्रोफ़ोन को आंतरिक में वापस स्विच नहीं करता।

यह बहुत कष्टप्रद है, विशेष रूप से यह देखते हुए कि मुझे यह करना होगा कि हर बार मैं हेडफ़ोन कनेक्ट करूं।

क्या macOS को हमेशा आंतरिक माइक्रोफोन का उपयोग करने के लिए मजबूर करने का कोई तरीका है, या विशिष्ट हेडफ़ोन के एक का उपयोग करने के लिए नहीं?

10/2017 से अपडेट करें:

इसलिए मुझे पता चला कि "हेडफ़ोन के माइक्रोफोन का उपयोग किया जा रहा है" केवल तब होता है जब स्काइप चल रहा होता है। लेकिन जब से मैंने Skype का उपयोग करना बंद कर दिया है (या हर समय चल रहा है), समस्या दूर हो गई थी!

यह मूल प्रश्न का हल नहीं है, मैं इसे भविष्य के संदर्भ के लिए यहां छोड़ रहा हूं।


आप अपने हेडफ़ोन को ब्लूटूथ के माध्यम से कैसे कनेक्ट करते हैं? यदि हाँ, तो यह एक डिवाइस के रूप में, या दो उपकरणों, हेडफ़ोन + माइक्रोफोन की जोड़ी के रूप में ब्लूटूथ प्रेफरेंस में कैसा दिखता है?
तोमा

@toma द बोस क्यूसी 35 एक वायरलेस हेडसेट है, लेकिन इसे फोन कनेक्टर के माध्यम से भी इस्तेमाल किया जा सकता है
उत्तर-

@northea जैसा कि मैं आधिकारिक वेबसाइट पर देख सकता हूं, यह हेडफ़ोन इंटरफेस, ब्लूटूथ और ऑडियो वायर दोनों का समर्थन करता है। इसलिए यदि आप उन्हें ब्लूटूथ के माध्यम से कनेक्ट करते हैं, तो वे बीटी प्रीफ़ में कैसे प्रदर्शित होते हैं? bose.com/en_us/products/headphones/over_ear_headphones/…
toma

@toma मैं उन्हें ब्लूटूथ के माध्यम से उपयोग कर रहा हूं, हां। उन्हें हेडफ़ोन के रूप में दिखाया गया है।
कोवपस

4
यह एक वास्तविक समाधान नहीं है, लेकिन आप Optionअपने मेनू बार में ध्वनि आइकन को पकड़कर और क्लिक करके इनपुट स्रोतों को जल्दी से स्विच कर सकते हैं , फिर सूची से एक इनपुट स्रोत का चयन कर सकते हैं। यह कम से कम सिस्टम प्राथमिकता का उपयोग करने से थोड़ा तेज है।
अनुपम

जवाबों:


6

मुझे यकीन नहीं है कि यह कितना व्यावहारिक है (मुझे CPU उपयोग, आदि को मापने का मौका नहीं मिला है), लेकिन नीचे AppleScript काम करेगा - बस [YOUR HEADPHONES' NAME]अपने हेडफ़ोन के वास्तविक नाम के साथ बदलें । यह Apple सपोर्ट कम्युनिटी थ्रेड की स्क्रिप्ट का एक संशोधित संस्करण है ।

नीचे दी गई स्क्रिप्ट को एक एप्लिकेशन के रूप में सहेजें, इसे चलाएं, और इसे अपने स्टार्टअप आइटम में जोड़ें - इसे पृष्ठभूमि में लगातार चलना चाहिए।

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 हाई सिएरा में कई नए एपीआई (विशेष रूप से ) आ रहे हैं जो इस समस्या के लिए बहुत अधिक समाधान की अनुमति देगा। यदि आप स्विफ्ट या ऑब्जेक्टिव-सी (या AppleScript और JXA में कोको स्क्रिप्टिंग ब्रिज) के साथ सहज हैं, तो मैं इस स्क्रिप्ट के बजाय हाई सिएरा रिलीज़ होने पर उन एपीआई का उपयोग करने पर ध्यान दूंगा। विशेष रूप से, Apple के ऑडियो सत्र प्रोग्रामिंग गाइड और इस स्टैक ओवरफ्लो पोस्ट का उपयोग करके ब्लूटूथ कनेक्शन का पता लगाने की कुछ तकनीकों को दिखाया गया है AVAudioSession


हाँ, एक अच्छा समझौता जैसा दिखता है। मैं वास्तव में निराश हूं कि बोस अभी भी सिएरा पर अपने उत्पाद के अच्छे समर्थन के साथ नहीं आ सकता है ... तब तक ऐसा लगता है कि मुझे इस तरह से वर्कअराउंड का उपयोग करना होगा :( धन्यवाद!
kovpas

@aaplmath स्क्रिप्ट वास्तव में दिलचस्प है ... और मुझे आपकी पोस्ट के अंत में वह सुझाव पसंद आया। एक मेनू बार ऐप (या हेडलेस) एप्लिकेशन लिखना जो ऑडियो सत्र की निगरानी करता है और हमेशा आंतरिक माइक्रोफोन के लिए पुन: रूट करता है, काम करने के लिए एक मजेदार प्रोजेक्ट होगा और थोड़ा अधिक मजबूत हो सकता है ... (हो सकता है) लेकिन फिर भी, मुझे पसंद है AppleScript संस्करण, क्योंकि यह कुछ ऐसा है जिसे आज कोई भी उपयोग कर सकता है। धन्यवाद!
इवान स्टोन

18

मुझे अभी भी @ aaplmath का सुझाव पसंद है (और यह आगे बढ़ने वाला सबसे अच्छा हो सकता है), लेकिन मैं भी इस समाधान पर ठोकर खाई है कि उच्च सिएरा में कोई कोडिंग (AppleScript / Swift / ObjC / अन्य) की आवश्यकता नहीं है और इसे कॉन्फ़िगर करना आसान है ।

कृपया ध्यान दें कि उत्तर लेख के टिप्पणी अनुभाग में था और यह उच्च सिएरा (मैं 10.13.6 पर हूं) पर काम करने लगता है, लेकिन मुझे नहीं पता कि क्या यह मोजावे और उससे आगे काम करता है।

मानक "ऑडियो मिडी Setup.app" उपयोगिता खोलें, और एक एग्रीगेट डिवाइस बनाने के लिए नीचे स्थित + पर क्लिक करें। फिर इस समग्र डिवाइस में एकमात्र घटक के रूप में आंतरिक माइक्रोफोन का चयन करें और इसे डिफ़ॉल्ट इनपुट के रूप में चुनें। किसी कारण से यह मैक ओएस एक्स को अब से ब्लूटूथ माइक्रोफोन का चयन करने से रोकता है और जब आप पुन: कनेक्ट करते हैं तो यह आंतरिक पर रहेगा।

उस समग्र इनपुट को बनाने के बाद, अपने सामान्य सिस्टम प्राथमिकताएं -> ध्वनि -> इनपुट (टैब) पर जाएं

स्रोत: http://ssrubin.com/posts/fixing-macos-bluaxy-headphone-audio-quality-issues-with-hammerspoon.html#comment-4018174387


मुझे बोस क्यूसी 35 ii के साथ भी समस्या थी। यह समाधान पूरी तरह से काम करता है। धन्यवाद।
चार्ल्स हान

यह ऑडीओमेक्स हेडफोन के साथ भी काम करता है।
डैनी स्टेपल

MacOS Catalina पर काम नहीं करता है। मेरा AirPods v2 फिर से मुख्य माइक बन जाता है, और नए बनाए गए एकत्रीकरण से कुछ भी अवरुद्ध नहीं होता है: '(
MoOx

यह Mojave में काम करता है, और मेरे पास अभी तक कैटालिना स्थापित नहीं है। Apple ने शायद कुछ बदल दिया है जो अब काम नहीं करता है ... बहुत निराशाजनक। यह जानकर अच्छा लगा कि यदि यह मामला है तो यह सड़क का अंत है ... यह भी लगता है कि कैटालिना मूल समस्या को प्रदर्शित करती है, और यदि हां, तो यह भी बहुत निराशाजनक है।
इवान स्टोन

6

आईओएस सिम्युलेटर का उपयोग करते समय मुझे यह समस्या है और यह किसी भी ध्वनि को बनाता है, जैसे कि कीबोर्ड से। मेरी बोस 35 की एक निम्न गुणवत्ता वाली ऑडियो स्ट्रीम पर स्विच और सब कुछ भयानक लगता है।

अन्य खोज परिणामों से मैंने पाया कि मेरे मैक के आंतरिक माइक्रोफोन पर स्विच करने से समस्या ठीक हो जाती है। इस सवाल के आधार पर, मुझे एहसास हुआ कि मैं अपने मैक के लिए सेटिंग सेट करने में सक्षम नहीं हो सकता, लेकिन मैं उन्हें अपने आईओएस सिम्युलेटर के लिए सेट कर सकता हूं।

iOS सिम्युलेटर: हार्डवेयर -> ऑडियो इनपुट -> आंतरिक माइक्रोफोन


-2

यदि आप ब्लूटूथ के बजाय केबल के माध्यम से अपने हेडफ़ोन का उपयोग करते हैं, तो सबसे आसान उपाय यह होना चाहिए कि टीआरआरएस (टिप + रिंग + रिंग + स्लीव) फोन जैक के बजाय टीआरएस (टिप + रिंग + स्लीव) फोन जैक के साथ केबल का उपयोग किया जाए। टीआरएस फोन जैक केवल स्टीरियो सिग्नल का समर्थन करता है, लेकिन कोई माइक्रोफोन नहीं। इस प्रकार कोई भी माइक्रोफोन सिग्नल प्रेषित नहीं होगा और अंतर्निहित माइक्रोफोन सक्रिय रहना चाहिए।


1
नहीं, मैं उन्हें ब्लूटूथ के माध्यम से उपयोग कर रहा हूं। वायरलेस उन्हें पहली जगह खरीदने का मुख्य कारण था :)
kovpas
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.