تحذير
يستخدم المصدر الأخير أسماء جديدة لبعض المكونات الأساسية:
bluealsa
Daemon bluealsad
bluealsa-cli
الآن bluealsactl
راجع دليل الويكي الذي ينقل من الإصدار 4.3.1 أو ما قبله لمزيد من المعلومات.
هذا المشروع هو ولادة من التكامل المباشر بين بلوز و ALSA. منذ Bluez> = 5 ، تمت إزالة التكامل المدمج لصالح تطبيقات صوتية الطرف الثالث. من الآن فصاعدًا ، يعمل Bluez كبرامج وسيطة بين تطبيق صوتي ، والذي ينفذ ملف تعريف الصوت Bluetooth ، وجهاز صوت Bluetooth.
الوضع الراهن الحالي هو أنه من أجل دفق الصوت من/إلى جهاز Bluetooth ، يتعين على المرء تثبيت خادم صوتي للأغراض العامة مثل Pipewire أو Pulseaudio ، أو استخدام الإصدار 4 من Bluez والذي يتم إهماله وعمليات الإذاعة.
قام هذا المشروع بإنشاء منتج ويحافظ عليه يسمى Bluealsa ، والذي يمكن للمرء أن يحقق نفس ملف تعريف الصوت Bluetooth كما هو الحال مع Pulseaudio ، ولكن مع تبعيات أقل وعلى مستوى أقل في مكدس البرامج. تقوم Bluealsa بتسجيل جميع ملفات تعريف الصوت Bluetooth المعروفة في Bluez ، لذلك من الناحية النظرية ، يمكن توصيل كل جهاز Bluetooth (مع إمكانيات الصوت).
تم تصميم Bluealsa خصيصًا للاستخدام على أنظمة صوتية أو صوتية/صوتية/صوتية صغيرة منخفضة الطاقة ، حيث لا توجد حاجة إلى ميزات إدارة الصوت عالية المستوى لـ Pulseaudio أو pipewire. يجب أن يكون النظام المستهدف قادرًا على العمل بشكل صحيح مع جميع تطبيقاته الصوتية التي تتداخل مباشرة مع ALSA ، مع تطبيق واحد فقط في وقت واحد باستخدام كل دفق صوت Bluetooth. في مثل هذه الأنظمة ، يضيف Bluealsa دعم صوت Bluetooth إلى دعم بطاقة الصوت ALSA الحالي. لاحظ أن هذا يعني أن التطبيقات مقيدة بقدرات ALSA API ، وأن ميزات معالجة الصوت ذات المستوى الأعلى لخوادم الصوت مثل Pulseaudio و Pipewire غير متوفرة.
يتكون Bluealsa من bluealsad
Daemon ، و ALSA المكونات ، وعدد من المرافق. يظهر السياق الأساسي في هذا الرسم التخطيطي:
مخطط انسيابي TD
تعبئة ClassDef الخارجية:#eee ، السكتة الدماغية:#333 ، عرض السكتة الدماغية: 4px ، اللون: أسود ؛
ClassDef Bluealsa Fill:#BBF ، stroke:#333 ، Width Stroke: 4px ، Color: Black ؛
A [محول بلوتوث] <-> B ((Bluetoothd <br/> Daemon))
A <-> C ((Bluealsad Daemon))
B <-dbus-> C
C <-dbus-> g ((bluealsactl))
C <-dbus-> d ((Bluealsa-aplay))
d -> e ([alsa libasound])
ه -> ك [مكبرات صوت]
C <-dbus-> f ((Bluealsa <br/> alsa plug-ins))
F <-> H ([alsa libasound])
H <-> i ((alsa <br/> التطبيقات))
C <-DBUS-> J (("عملاء D-bus <br/>)))
C <-> L ((alsa midi <br/> sequencer))
L <-> M ([alsa libasound])
M <-> N ((ALSA MIDI <br/> التطبيق))
Class A ، B ، E ، H ، I ، J ، K ، L ، M ، N External ؛
الفئة C ، D ، F ، G Bluealsa ؛
قلب Bluealsa هو bluealsad
الخفي الذي يتفاعل مع bluetoothd
Bluetooth Bluetooth ومسحح Bluetooth المحلي. يعالج اتصال ملف التعريف والتكوين من أجل A2DP و HFP و HSP ويعرض تدفقات الصوت الناتجة إلى التطبيقات عبر D-BUS.
يتضمن Bluealsa المكونات الإضافية لـ ALSA التي تخفي جميع تفاصيل D-BUS وتسمح بتطبيقات استخدام واجهات ALSA PCM وخلط الخلاط ، بحيث يمكن لتطبيقات ALSA الحالية الوصول إلى أجهزة صوت Bluetooth بنفس الطريقة التي تستخدم بها PCMs بطاقة الصوت والخلاطات.
في حالة BLE MIDI ، ينشئ Daemon منفذ MIDI بسيطًا مباشرةً في ALSA MIDI Sequencer ، بحيث يمكن تطبيق ALSA MIDI الاتصال بجهاز BLE MIDI البعيد بالطريقة نفسها التي سيتصل بها بجهاز MIDI المحلي.
يتضمن Bluealsa أيضًا عددًا من تطبيقات المرافق. من الجدير بالذكر::
Bluealsactl
تطبيق للسماح بإدارة خط الأوامر لنظام Bluealsa.
Bluealsa-aplay
تطبيق لتبسيط مهمة بناء مكبر صوت بلوتوث باستخدام Bluealsa.
Bluealsa-rfcomm
تطبيق سطر الأوامر الذي يوفر الوصول إلى محطة RFCOMM لأجهزة HFP/HSP.
يتم تضمين تعليمات الإنشاء والتثبيت في الملف.
المكون الرئيسي لـ Bluealsa هو برنامج يسمى bluealsad
. بشكل افتراضي ، يتم تشغيل هذا البرنامج كجذر أثناء بدء تشغيل النظام. سيتم تسجيل خدمة org.bluealsa
في ناقل نظام D-BUS ، والتي يمكن استخدامها للوصول إلى أجهزة الصوت التي تم تكوينها. بشكل عام ، يعمل Bluealsa كبديل بين بلوز و ALSA.
يجب أن يكون bluealsad
Daemon قيد التشغيل من أجل إقران الأجهزة الصوتية عن بنية Bluetooth والاتصال بها واستخدامها. من أجل دفق الصوت على سبيل المثال سماعة Bluetooth ، يجب على الشخص أولاً توصيل الجهاز. إذا لم تكن معتادًا على إجراءات الاقتران والتوصيل بتقنية Bluetooth على Linux ، فهناك دليل أساسي في الويكي: الاقتران والتوصيل.
للحصول على تفاصيل خيارات سطر الأوامر إلى bluealsad
، استشر صفحة Bluealsad Manual.
عند توصيل جهاز صوت Bluetooth ، يمكن للمرء استخدام جهاز PCM الظاهري bluealsa
مع تطبيقات ALSA تمامًا مثل أي جهاز PCM آخر:
aplay -D bluealsa Bourree_in_E_minor.wav
إذا كان هناك أكثر من جهاز Bluetooth متصل ، يمكن تحديد الهدف كمعلمة إلى PCM:
aplay -D bluealsa:XX:XX:XX:XX:XX:XX, Bourree_in_E_minor.wav
يرجى ملاحظة أن جهاز PCM هذا يعتمد على المكون الإضافي لـ ALSA Software PCM I/O - لا يحتوي على بطاقة صوت مرتبطة ، ولن يكون متاحًا في واجهة ALSA Kernel Proc.
يمكن تعيين معلمات الإعداد لجهاز bluealsa
PCM في ملف .asoundrc
المحلي.
cat ~ /.asoundrc
defaults.bluealsa.service " org.bluealsa "
defaults.bluealsa.device " XX:XX:XX:XX:XX:XX "
defaults.bluealsa.profile " a2dp "
defaults.bluealsa.delay 10000
يسمح Bluealsa أيضًا بالتقاط الصوت من جهاز Bluetooth المتصاعد. للقيام بذلك ، يتعين على المرء استخدام جهاز Capture PCM ، على سبيل المثال:
arecord -D bluealsa -f s16_le -c 2 -r 48000 capture.wav
بالإضافة إلى ملف تعريف A2DP ، المستخدم في الصوت عالي الجودة ، يسمح Bluealsa أيضًا باستخدام اتصال الصوت عبر الهاتف عبر رابط SCO. يمكن للمرء استخدام دعم HSP/HFP المدمج ، والذي ينفذ فقط جزء من الصوت من المواصفات ، أو استخدام خدمة Ono كأفراد خلفي. من أجل فتح اتصال الصوت SCO ، يجب أن يتحول المرء إلى ملف تعريف sco
كما يلي:
aplay -D bluealsa:DEV=XX:XX:XX:XX:XX:XX,PROFILE=sco Bourree_in_E_minor.wav
من أجل التحكم في مستوى الصوت الإدخال أو الإخراج ، يمكن للمرء استخدام المكون الإضافي للتحكم في bluealsa
. يسمح هذا المكون الإضافي بضبط حجم دفق الصوت أو ببساطة كتم/إلغاء كتمه ، على سبيل المثال:
amixer -D bluealsa sset ' <control name> ' 70%
عندما يكون اسم التحكم هو اسم جهاز Bluetooth متصل مع لاحقة عنصر التحكم ، على سبيل المثال:
amixer -D bluealsa sset ' Jabra MOVE v2.3.0 A2DP ' 50%
للحصول على تفاصيل كاملة لجهاز Bluealsa ALSA PCM وجهاز الخلاط ، استشر صفحة Bluealsa Plug-INS اليدوية.
هناك أيضًا عدد من المقالات على مشروع Bluez-assa wiki مع إعطاء المزيد من الأمثلة على استخدام هذه المكونات الإضافية.
للحصول على تكوين ALSA المتقدم ، راجع الوثائق عبر الإنترنت ASOUNDRC التي توفرها صفحة WIKI ALSAPROJECT.
من الممكن إنشاء مكبر صوت يعمل بنظام Bluetooth باستخدام Bluealsa. لهذا ، يجب إعادة توجيه إشارة الصوت من Bluealsa Capture PCM إلى بعض PCM تشغيل آخر (مثل بطاقة الصوت المدمجة). من أجل تبسيط هذه المهمة ، يتضمن Bluealsa برنامجًا يسمى bluealsa-aplay
، والذي يعمل كلاعب Bluealsa بسيط. قم بتوصيل جهاز Bluetooth الخاص بك (على سبيل المثال الهاتف الذكي) وافعله على النحو التالي:
bluealsa-aplay XX:XX:XX:XX:XX:XX
للحصول على تفاصيل خيارات سطر الأوامر إلى bluealsa-aplay
، استشر صفحة Manual Bluealsa-aplay. هناك أيضًا بعض المقالات حول مشروع Bluez-assa wiki الذي يعطي أمثلة على استخدامه.
يمكن الحصول على قائمة PCMs المتوفرة Bluealsa (التي توفرها أجهزة Bluetooth المتصلة مع إمكانات صوتية) مباشرة من API Bluealsa D-Bus أو باستخدام bluealsa-aplay
كركبة مريحة على النحو التالي:
bluealsa-aplay -L
يرحب هذا المشروع مساهمات الكود والتوثيق والاختبار.
يرجى الاطلاع على دليل المساهمة للحصول على التفاصيل.
وتناقش الأخطاء الأكثر شيوعا في دليل استكشاف الأخطاء وإصلاحها. يرجى التحقق من هذا الملف لمعرفة ما إذا كان هناك بالفعل حل لمشكلتك.
إذا لم تتمكن من العثور على حل في هذا المستند أو عن طريق قراءة الصفحات اليدوية ، فيرجى البحث في المشكلات السابقة (مفتوحة ومغلقة) ، واستشارة الويكي قبل إثارة مشكلة جديدة. لسوء الحظ ، لا يتم فهرسة WIKI بواسطة محركات البحث على الويب ، لذا فإن البحث عبر الإنترنت عن مشكلتك لن يكتشف المعلومات الموجودة هناك.
إذا كانت الإبلاغ عن مشكلة كمسألة جديدة ، فيرجى استخدام قالب الإبلاغ عن قضية Bluez-assa github المناسب وإكمال كل قسم من القالب بأكبر قدر ممكن.
تم ترخيص Bluealsa بموجب شروط ترخيص MIT. انظر ملف الترخيص للحصول على التفاصيل.