كيفية تعديل مكدس البلوتوث على نظام Android للحصول على جودة صوت Bluetooth محسّنة بشكل كبير



جرب أداة القضاء على المشاكل

تحذير: هذا دليل متقدم للغاية يتضمن تعديل مكدسات البلوتوث على نظام Android - اقرأ هذا الدليل بالكامل واتبع جميع التعليمات كما هو موضح تمامًا.



على الرغم من حقيقة أن سماعات الرأس التي تعمل بتقنية البلوتوث وصوت البلوتوث أصبحت شائعة جدًا ، إلا أنها تمثل مشكلة بالنسبة لعشاق الموسيقى نظرًا لأنه ثبت أن تقنية Bluetooth تقلل جودة الصوت ، حيث تضيع أجزاء من المعلومات الصوتية والترددات في الهواء عبر تدفق البلوتوث.



هذا هو السبب في أن بعض الشركات المصنعة تضع برامج ترميز aptX و LDAC ، لتحسين جودة الصوت عبر برنامج ترميز SBC Bluetooth القياسي الذي تدعمه جميع سماعات الرأس ومعظم أجهزة Bluetooth - ومع ذلك ، فإن الأجهزة التي تحتوي على برامج ترميز aptX و LDAC تكون أكثر تكلفة لأن برامج الترميز هذه تتطلب رسوم الترخيص ، والتي يدفعها المستهلك على المدى الطويل.



إن جودة الصوت المنخفضة لبرنامج ترميز SBC Bluetooth ناتج عن قيود اصطناعية لجميع مجموعات Bluetooth الحالية وتكوين سماعات الرأس ، ويمكن التحايل على هذا القيد على أي أجهزة موجودة.

إذا كنت مهتمًا بصوت Bluetooth ، فسنعرض لك في نهاية هذا الدليل كيفية تفريغ سجل صوت Bluetooth وفحصه لمعرفة نوع جودة الصوت والتردد الذي تحصل عليه من جهاز استقبال Bluetooth الخاص بنظام Android.

ستركز غالبية هذا الدليل على بعض التعديلات والطرق البسيطة لقراءة إخراج صوت Bluetooth الخاص بك لتحسين جودة الإخراج لبرامج ترميز SBC Bluetooth القياسية - يرجى قراءة هذا الدليل بالكامل بعناية لأنه تعليمي تمامًا وهناك الكثير من الأشياء المختلفة وميض أو قرص ، حسب طراز جهازك.



في نهاية هذا الدليل ، توجد قائمة بمكدسات البلوتوث المصححة مسبقًا للعديد من أجهزة Android الشائعة - يمكن وميضها أثناء الاسترداد كما تفعل مع أي ملفات مضغوطة أخرى قابلة للتلف - إذا لم يكن أي من الأجهزة ملكًا لك ، لاتباع دليل تعديل مكدسات Bluetooth على Android.

معلومات فنية قصيرة حول برنامج ترميز SBC

تحتوي SBC على الكثير من المعلمات المختلفة التي يتم التفاوض عليها أثناء مرحلة إعداد الاتصال:

  • نوع القناة الصوتية ورقمها: ستيريو مشترك ، ستيريو ، ثنائي القناة ، أحادي ؛
  • عدد نطاقات التردد: 4 أو 8 ؛
  • عدد الكتل الصوتية في حزمة واحدة: 4 ، 8 ، 12 ، 16 ؛
  • خوارزمية تخصيص بتات التكميم: الجهارة ، SNR ؛
  • الحد الأقصى والأدنى لمجمع البتات المستخدم في عملية التكميم: عادة 2-53.

مطلوب مفكك الشفرة لدعم أي مجموعة من هذه المعلمات. قد يقوم برنامج التشفير بتنفيذ جزء منها فقط.

عادةً ما تتفاوض مكدسات Bluetooth الحالية على ملف التعريف التالي: استريو مشترك ، 8 نطاقات ، 16 كتلة ، ارتفاع الصوت ، bitpool 2..53. يشفر ملف التعريف هذا صوت 44.1 كيلوهرتز بمعدل بت 328 كيلوبت في الثانية.

تؤثر معلمة Bitpool بشكل مباشر على معدل البت في نفس الملف الشخصي: كلما ارتفع ، زاد معدل البت ، وبالتالي الجودة.

ومع ذلك ، فإن معلمة bitpool ليست مرتبطة بملف تعريف معين. يتأثر معدل البت أيضًا بشكل كبير بالمعلمات الأخرى: نوع القناة الصوتية ، وعدد نطاقات التردد ، وعدد الكتل الصوتية. يمكنك زيادة معدل البت بشكل غير مباشر عن طريق التفاوض على ملفات التعريف غير القياسية ، دون تغيير مجموعة البت.

على سبيل المثال ، تقوم القناة المزدوجة بترميز القنوات بشكل منفصل ، باستخدام مجموعة البت بأكملها لكل قناة. سيؤدي إجبار الجهاز على استخدام Dual Channel بدلاً من Joint Stereo إلى مضاعفة معدل البت تقريبًا في نفس الحد الأقصى من bitpool ، وهو 617 كيلو بت في الثانية.

بالنسبة لي أشعر أن bitpool يجب أن يكون متغيرًا داخليًا. إنه خطأ في تصميم مواصفات A2DP حيث لا ترتبط قيمة bitpool بمعلمات برنامج الترميز الأخرى ويتم تعريفها فقط كقيمة عامة.

تنشأ قيم Bitpool و Bitrate الثابتة هذه من القيم الموصى بها للصوت عالي الجودة. لكن التوصية ليست ذريعة لقصر الملف الشخصي على هذه القيم.

تتطلب مواصفات A2DP v1.2 ، التي كانت نشطة من 2007 إلى 2015 ، أن تعمل جميع أجهزة فك التشفير بشكل صحيح مع معدلات بت تصل إلى 512 كيلوبت في الثانية:

يجب أن يدعم مفكك تشفير SNK جميع القيم الممكنة لمجمع البتات التي لا تؤدي إلى زيادة معدل البتات الأقصى. يحد ملف التعريف هذا الحد الأقصى لمعدل البت المتاح إلى 320 كيلو بايت / ثانية للأحادية و 512 كيلو بايت / ثانية لأوضاع ثنائية القناة.

في الإصدار الجديد من المواصفات لا يوجد حد لمعدل البت. من المفترض أن سماعات الرأس الحديثة التي تم إصدارها بعد عام 2015 يمكنها دعم معدلات البت تصل إلى 1000 كيلو بايت في الثانية .

لسبب ما ، تحتوي جميع حزم Bluetooth التي تم اختبارها حاليًا (Linux (PulseAudio) و Android و Blackberry و macOS) على قيود اصطناعية للحد الأقصى لمعلمات bitpool ، والتي تؤثر بشكل مباشر على الحد الأقصى لمعدل البت. لكن هذه ليست المشكلة الأكبر ، فجميع سماعات الرأس تقريبًا تحد من قيمة bitpool إلى 53.

تعمل معظم الأجهزة بشكل جيد على مكدس Bluetooth معدل بمعدل بت 507 كيلوبت في الثانية ، دون مقاطعة أو طقطقة. لكن معدل البت هذا لن يتم التفاوض عليه أبدًا في ظل الظروف العادية ، مع مكدس البلوتوث.

*** مطلوب للاختبار باستخدام الأدلة أدناه: bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso.torrent

كيفية الاختبار على جهاز كمبيوتر

يعد اختبار توافق سماعة الرأس SBC ذو معدل البت المرتفع هو الأسهل من حيث الأداء على الكمبيوتر باستخدام محول Bluetooth. لقد أعددت صورة Ubuntu باستخدام مكدس Bluetooth معدل ، والذي يمكن تشغيله كما هو الحال في جهاز افتراضي (عن طريق توصيل محول Bluetooth كجهاز USB داخل الجهاز الظاهري ، كما أنه يعمل مع المحولات المدمجة في أجهزة الكمبيوتر المحمولة) أو عن طريق التمهيد من محرك أقراص فلاش USB. تستخدم هذه الصورة ملف التعريف التالي: قناة مزدوجة ، 8 نطاقات ، 16 كتلة ، ارتفاع الصوت ، bitpool 2..41 ، 44.1 كيلو هرتز ، والذي يوفر معدل بت 485 كيلو بت في الثانية.

يعمل في VM

  • قم بتنزيل Virtualbox و Virtualbox Extension Pack: https://www.virtualbox.org/wiki/Downloads ؛
  • تثبيت Virtualbox ، ابدأ تشغيله ؛
  • تثبيت حزمة الامتداد باستخدام File → Preferences → Extensions ؛
  • إنشاء آلة افتراضية جديدة: Linux و Ubuntu (64 بت) و 1024 RAM. لا تقم بإنشاء محرك أقراص صلبة.
  • انتقل إلى إعدادات الجهاز الظاهري ، في التخزين ، اختر وحدة التحكم: IDE ، فارغ ، اضغط على أيقونة القرص المضغوط ← اختر ملف قرص ضوئي افتراضي ؛
  • حدد bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso الذي تم تنزيله ؛
  • حفظ وإغلاق نافذة الإعدادات ، بدء تشغيل الجهاز الظاهري ؛
  • انقر بزر الماوس الأيمن فوق رمز كابل USB في أسفل اليمين ، وحدد محول Bluetooth الخاص بك ؛

يعمل على جهاز كمبيوتر

تدعم الصورة تمهيد BIOS / CSM و UEFI.

  • انسخ الصورة على محرك أقراص فلاش USB باستخدام Etcher: https://etcher.io/. ستؤدي هذه العملية إلى حذف جميع الملفات الموجودة على محرك أقراص USB.
  • قم بإيقاف تشغيل الكمبيوتر ؛
  • أدخل محرك أقراص فلاش USB ، وقم بتشغيل الكمبيوتر واضغط على زر ترتيب التمهيد (عادةً Esc أو F12) ؛
  • حدد محرك أقراص USB المحمول الخاص بك.

إجراء الاختبار

  • (اختياري ولكن موصى به) انقر نقرًا مزدوجًا فوق البرنامج النصي 'Btsnoop Dump' على سطح المكتب. سيبدأ التقاط بيانات Bluetooth لتحليلها لاحقًا. لا تغلق نافذة المحطة.
  • تبديل سماعات الرأس إلى وضع الاقتران ؛
  • انقر فوق السهم الموجود في الزاوية اليمنى العليا ، وحدد رمز Bluetooth ← إعدادات Bluetooth ؛
  • اختر سماعات الرأس الخاصة بك ، وانتظر حتى يكتمل الاقتران وأغلق النافذة ؛
  • اضبط حجم Ubuntu على حوالي 2/3. قم أيضًا بتقليل مستوى الصوت باستخدام أزرار سماعة الرأس حيث قد يكون مرتفعًا جدًا بعد الاقتران.
  • افتح مجلد 'الموسيقى' ، وشغل 'testrecord1.flac' ؛
  • (اختياري لكن موصى به) أغلق المشغل ، أغلق نافذة المحطة. هذا سوف يوقف التقاط البيانات.
  • (اختياري لكن موصى به) افتح متصفح Firefox ، وحمِّل تفريغ البيانات (btsnoop_hci.btsnoop على سطح المكتب) إلى https://btcodecs.valdikss.org.ru/

يمكنك الاستماع إلى الموسيقى الأخرى في مجلد الموسيقى ، أو تحميل الموسيقى الخاصة بك ؛

يجب ألا يكون هناك طقطقة أو انقطاع صوتي أو أي تشويش آخر للصوت في سماعات الرأس. إذا سمعت صوتًا جيدًا وعالي الجودة ، فهذا يعني أن سماعات الرأس تدعم الصوت بمعدل بت 485 كيلو بت في الثانية.

كيفية الاختبار على جهاز Android

للاختبار من هاتف Android الذكي أو الجهاز اللوحي ، يلزمك استخدام مكدس Bluetooth معدل ، والذي يتطلب امتياز الجذر.

كيفية التقاط بيانات تفريغ Bluetooth على Android

  1. قم بإيقاف تشغيل البلوتوث ؛
  2. في إعدادات المطور ، قم بتمكين مفتاح 'Enable Bluetooth HCI snoop log' ؛
  3. قم بتشغيل Bluetooth ، قم بالاتصال بسماعة الرأس باستخدام قائمة Bluetooth (هذا مهم! لا تسمح بالاتصال التلقائي!) ؛
  4. تشغيل عينة صوتية قصيرة ؛
  5. افتح إعدادات المطور ، وقم بتعطيل مفتاح 'Enable Bluetooth HCI snoop log' ؛
  6. يجب أن يكون هناك /storage/emulated/0/btsnoop_hci.log أو /data/misc/bluetooth/logs/btsnoop_hci.log تم إنشاؤه. إذا كان مفقودًا ، فافتح /etc/bluetooth/bt_stack.conf باستخدام محرر نصوص وشاهد المسار في خيار BtSnoopFileName.

يجب ألا يكون هناك طقطقة أو انقطاع صوتي أو أي تشويش آخر للصوت في سماعات الرأس. إذا كنت تسمع صوتًا عالي الجودة مع المكتبة المصححة ، فهذا يعني أن سماعات الرأس تدعم الصوت بمعدل بت 512 كيلو بت في الثانية.

يرجى اتباع الخوارزمية أعلاه بعناية. على وجه الخصوص ، إذا قمت بإيقاف تشغيل سماعات الرأس أو فصلها بعد الاقتران ، فمن المهم توصيل سماعات الرأس يدويًا من إعدادات Bluetooth ، ولا تسمح بالاتصال التلقائي!

الأجهزة التي تدعم 512 كيلوبت / ثانية على الأقل SBC

  • 1 أكثر على iBFree
  • جيه بي ال ايفرست 310
  • جي بي ال ايفرست 700
  • سكل كاندي HESH 3
  • سوني WI-C400
  • سوني MDR-1ABT
  • سوني MDR-ZX770BT
  • سوني MDR-XB650BT
  • سوني MDR-XB950B1
  • سوني SBH50
  • Bluedio T4s (Bitpool max 39. الاستجابة لعدم دعم القناة المزدوجة ، ولكن العمل إذا تم فرضه ، 462 kbit / s. لا يتوافق مع مواصفات A2DP.)
  • Bluedio T5 (الاستجابة لعدم دعم القناة المزدوجة ، ولكن العمل إذا تم إجبارها. لا يتوافق مع مواصفات A2DP.)
  • Bluedio T6 (الاستجابة لعدم دعم القناة المزدوجة ، ولكن العمل إذا تم إجبارها. لا يتوافق مع مواصفات A2DP. استخدم شريحة بحد أقصى 97220.)
  • مارشال ماجور الثاني بلوتوث
  • زيادة سرعة RealForce D1
  • Edifier W830BT
  • DEXP BT-250
  • محول لوجيتك BT
  • وحدة رأس السيارات بدون اسم (رقاقة CSR8645)
  • وحدة رأس سوني DSX-A400BT للسيارات

الأجهزة التي تدعم SBC أعلى من 512 كيلوبت / ثانية

  • JBL Everest 310 (617-660 كيلوبت / ثانية)
  • سوني WI-C400 (576 كيلوبت / ثانية)
  • Sony MDR-ZX770BT (617-660 كيلوبت / ثانية)
  • Marshall Major II Bluetooth (617-660 كيلوبت / ثانية)
  • Overdrive RealForce D1 (730 كيلوبت / ثانية ، قناة مزدوجة ، 4 نطاقات فرعية)

الأجهزة التي لا تعمل بمعدلات بت أعلى أو ثنائية القناة

  1. Harper HB-202 (المفرقعات ؛ شريحة Beken BK3256)
  2. Sony Ericsson MW600 (تشويه عالي التردد ، تشقق ، جهاز من 2009)

سبب أهمية ذلك: SBC 328k و 485k مقابل aptX

على عكس الاعتقاد الشائع بجودة صوت aptX ، في بعض الحالات يمكن أن ينتج جودة صوت أسوأ من SBC بمعدل بت 328 كيلو بايت قياسي.

يخصص SBC ديناميكيًا بتات التكميم لنطاقات التردد ، التي تعمل على أساس 'من أسفل إلى أعلى'. إذا تم استخدام معدل البت بالكامل للترددات المنخفضة والمتوسطة ، يتم 'قطع' الترددات العليا (صامتة).

تقيس aptX نطاقات التردد بنفس عدد البتات باستمرار ، مما يجعلها ترميز معدل بت ثابت: 352 كيلوبت في الثانية لـ 44.1 كيلوهرتز ، و 384 كيلوبت في الثانية لـ 48 كيلوهرتز. لا يمكنه 'نقل البتات' إلى الترددات المطلوبة في الغالب. على عكس SBC ، لن تقوم aptX 'بقطع' الترددات ، ولكنها ستضيف ضوضاء تكمية إليها ، مما يقلل النطاق الديناميكي للصوت ، وفي بعض الأحيان يدخل الخشخشة. SBC ، على العكس من ذلك ، 'يأكل التفاصيل' - يتجاهل المناطق الأكثر هدوءًا.

في المتوسط ​​، مقارنة بـ SBC 328k ، تقوم aptX بإحداث تشويش أقل في الموسيقى مع نطاق تردد واسع ، ولكن في الموسيقى ذات نطاق التردد الضيق والنطاق الديناميكي الواسع يفوز أحيانًا SBC 328k.

دعونا ننظر في حالة خاصة ، تسجيل البيانو. فيما يلي مخطط طيفي:


تكمن معظم الطاقة في الترددات من 0 إلى 4 كيلوهرتز ، وتستمر حتى 10 كيلوهرتز.
يبدو المخطط الطيفي لملف aptX كما يلي:

هنا SBC 328k:

يمكن ملاحظة أن SBC 328k قام بشكل دوري بقطع النطاق فوق 16 كيلو هرتز ، واستخدم جميع معدلات البت المتاحة للنطاقات التي تقل عن هذه القيمة. ومع ذلك ، أدخل aptX المزيد من التشوهات في الطيف الترددي الذي تسمعه الأذن البشرية ، والذي يمكن رؤيته في مخطط الطيف الأصلي المخصوم من مخطط aptX الطيفي (كلما كان أكثر إشراقًا ، كلما زاد التشوه):


بينما أدخل SBC 328k تشويشًا أقل للإشارة في النطاق من 0 إلى 10 كيلو هرتز ، وتم قطع الباقي:

كان معدل البت 485 كيلو بايت لـ SBC كافياً لحفظ نطاق التردد بالكامل ، دون قطع النطاقات.

يعد SBC 485k في عينة الصوت هذه أفضل بكثير من aptX في نطاق 0-15 كيلو هرتز ، ومع وجود فرق أصغر ولكن لا يزال ملحوظًا - عند 15-22 كيلو هرتز (أغمق ، وأقل تشويشًا):

بالتبديل إلى SBC عالي معدل البت ، ستحصل على صوت أفضل من aptX في معظم الأوقات ، على أي سماعات رأس.

  • original_and_aptx.zip
  • sbc.zip

كيفية تعديل Bluetooth Stacks على Android 5-7

يجب تطبيق هذه التعديلات على مخزون مكدسات البلوتوث لنظام التشغيل Android Bluedroid (Android 5) و Fluoride (Android 6-7). المكدس المعدل بواسطة Qualcomm غير مدعوم.

استبدل الستيريو المشترك بالقناة المزدوجة بتكوين SBC القياسي

android / platform / external / bluetooth / bluedroid / btif / co / bta_av_co.c: 99

الشفرة:

CONST tA2D_SBC_CIE btif_av_sbc_default_config = {BTIF_AV_SBC_DEFAULT_SAMP_FREQ، / * samp_freq * / A2D_SBC_IE_CH_MD_JOINT، / * ch_mode * / A2D_SBC_IE_BLOCKS_16، / * block_len * / A2D_SBC_IE_SUBBAND_8، / * num_subbands * / A2D_SBC_IE_ALLOC_MD_L، / * alloc_mthd * / BTA_AV_CO_SBC_MAX_BITPOOL، / * max_bitpool * / A2D_SBC_IE_MIN_BITPOOL / * min_bitpool * /} ؛

استبدل A2D_SBC_IE_CH_MD_JOINT بـ A2D_SBC_IE_CH_MD_DUAL.

زيادة أولوية القناة المزدوجة

android / platform / خارجي / bluetooth / bluedroid / btif / co / bta_av_co.c: 41

الشفرة:

إذا (src_cap.ch_mode & A2D_SBC_IE_CH_MD_JOINT) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_JOINT ؛ وإلا إذا (src_cap.ch_mode & A2D_SBC_IE_CH_MD_STEREO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_STEREO ؛ وإلا إذا (src_cap.ch_mode & A2D_SBC_IE_CH_MD_DUAL) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_DUAL ؛ وإلا إذا (src_cap.ch_mode & A2D_SBC_IE_CH_MD_MONO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_MONO ؛ تحرك إذا كان مع A2D_SBC_IE_CH_MD_DUAL إلى الأعلى.
  1. تعطيل أو زيادة تقييد معدل البت

مكدس البلوتوث في Android ليس فقط حد bitpool ، ولكن أيضًا حد معدل البت ، 328 كيلو بت / ثانية. إذا كانت سماعات الرأس تدعم ، على سبيل المثال ، bitpool 53 لـ 48 كيلو هرتز ، فسيقوم Android بتخفيض bitpool لأسفل لتلائم حد 328 كيلوبت / ثانية. سيحدث هذا بعد تفاوض برنامج الترميز ، في مرحلة الترميز ، لا تأخذ في الاعتبار قيمة bitpool في حزمة Bluetooth SetCapabilities.

android / platform / خارجي / بلوتوث / bluedroid / btif / src / btif_media_task.c: 172

الشفرة:

#define DEFAULT_SBC_BITRATE 328

استبدل بـ 512.

  1. (للتجارب فقط) تعطيل حد MTU.

هذا مطلوب لمعدلات بت أعلى من ~ 580 kbit / s.

btif / src / btif_media_task.c: 174

الشفرة:

/ * 2DH5 حجم حمولة 679 بايت - (4 بايت رأس L2CAP + 12 بايت رأس AVDTP) * / # تعريف MAX_2MBPS_AVDTP_MTU 663

كيفية تعديل Bluetooth Stacks على Android 8-9

لم يتم اختبار هذه التعديلات ، ولكن يجب أن تعمل.

أضف دعم القناة المزدوجة إلى مصدر A2DP SBC

/platform/system/bt/stack/a2dp/a2dp_sbc.cc:55

الشفرة:

/ * قدرات برنامج ترميز SBC SRC * / ثابت ثابت tA2DP_SBC_CIE a2dp_sbc_caps = A2DP_SBC_IE_BLOCKS_8 ؛

أضف A2DP_SBC_IE_CH_MD_DUAL في ch_mode.

استبدل Joint Stereo بـ Dual Channel في التكوين الافتراضي

/platform/system/bt/stack/a2dp/a2dp_sbc.cc:82

الشفرة:

/ * افتراضي SBC الترميز التكوين * / CONST tA2DP_SBC_CIE a2dp_sbc_default_config = {A2DP_SBC_IE_SAMP_FREQ_44، / * samp_freq * / A2DP_SBC_IE_CH_MD_JOINT، / * ch_mode * / A2DP_SBC_IE_BLOCKS_16، / * block_len * / A2DP_SBC_IE_SUBBAND_8، / * num_subbands * / A2DP_SBC_IE_ALLOC_MD_L، / * alloc_method * / A2DP_SBC_IE_MIN_BITPOOL، / * min_bitpool * / A2DP_SBC_MAX_BITPOOL، / * max_bitpool * / BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 / * bits_per_sample * /} ؛

استبدل A2DP_SBC_IE_CH_MD_JOINT بـ A2DP_SBC_IE_CH_MD_DUAL.

زيادة أولوية القناة المزدوجة

/platform/system/bt/stack/a2dp/a2dp_sbc.cc:1155

الشفرة:

static bool select_best_channel_mode (uint8_t ch_mode، tA2DP_SBC_CIE * p_result، btav_a2dp_codec_config_t * p_codec_config) {if (ch_mode & A2DP_SBC_IE_CH_MD_SBC_CIE> p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO ؛ العودة صحيح } إذا (ch_mode & A2DP_SBC_IE_CH_MD_STEREO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_STEREO ؛ p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO ؛ العودة صحيح } إذا (ch_mode & A2DP_SBC_IE_CH_MD_DUAL) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_DUAL ؛ p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO ؛ العودة صحيح } إذا (ch_mode & A2DP_SBC_IE_CH_MD_MONO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_MONO ؛ p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO ؛ العودة صحيح } عودة كاذبة؛ }

انقل إذا كان مع A2DP_SBC_IE_CH_MD_DUAL إلى الأعلى.

زيادة حد معدل البت

/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:42

الشفرة:

#define A2DP_SBC_DEFAULT_BITRATE 328

استبدل بـ 512.

  1. (للتجارب فقط) تعطيل حد MTU

هذا مطلوب لمعدلات بت أعلى من ~ 580 kbit / s.

/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:47

الشفرة:

#define MAX_2MBPS_AVDTP_MTU 663

حزم بلوتوث مصححة (Flashable)

  • Le Max 2 Oreo Patched.zip
  • LeEco Cool Changer S1 EUI_5.8.19S.zip
  • Leeco LE2 (EUI 5.9.26s ، Android 6) .zip
  • Xiaomi Mi Note (Miui 9 Miui.su usnkreal v8.4.12 ، Android 6.0.1) .zip
  • ملاحظة Xiaomi Mi 3 (MIUI 9 ، Android 7) .zip
  • Xiaomi Mi4c (Android 7.0 NRD90M ، MIUI-9.5 9.5.1.0 (NXKCNFA)). zip
  • Xiaomi MI5s (MIUI Global 9.6.1.0 ، Android 7) .zip
  • Xiaomi Redmi 3s (android 6.01، mmb29m، miui global 9.6.1.0) .zip
  • Xiaomi Redmi 4 (MiuiPro 10 8.8.2 ، Android 6.0.1 ، MMB29M) .zip
  • Xiaomi Redmi 4 Prime.zip
  • Xiaomi Redmi 4 pro (MIUI 9، miuipro 8.4.26) .zip
  • Xiaomi Redmi Note 3 (Resurrection Remix Android 7.1.2_r36) .zip
  • Redmi Note 4x (Masik Premium ، android 7.0) .zip
  • Asus Zoom (Android 5، 2.26.40.108_20160520) .zip
  • Le Max 2 Oreo Patched.zip
  • Huawei P9 (Android 7) .zip
  • Samsung Galaxy S4 LTE GT-I9505 (Android 7.1.2 ؛ LineageOS 14.1-20180615-NIGHTLY-jfltexx) .zip
  • الرمز البريدي
  • Le Max 2 Oreo Patched.zip
10 دقائق للقراءة