أجهزة الصوت

لا تتيح أجهزة Google Cast للصوت سوى تشغيل الصوت. يوضِّح هذا الدليل كيفية تحسين تطبيقات Cast للأجهزة المخصّصة للصوت فقط والاستفادة من الطلبات المنخفضة على الذاكرة ووحدة المعالجة المركزية واستخدام معدل نقل البيانات في الشبكة.

يجب أن يأخذ التطبيق الذي يتيح استخدام Google Cast للصوت ما يلي في الاعتبار:

  • لا تعرض أجهزة Google Cast للأجهزة الصوتية الفيديو أو الرسومات. ومع ذلك، تتضمّن العديد من أجهزة الصوت شاشة لعرض البيانات الوصفية، مثل حالة التشغيل (تشغيل أو إيقاف مؤقت) ومستوى التقدّم. يجب ألّا يعرض تطبيقك معلومات المستخدمين المهمة هذه على المستلِم فقط، بل يجب أن يعرضها على المُرسِل أيضًا، وكذلك المعلومات المهمة ومعظم واجهة المستخدم.
  • لتشغيل تطبيقات Web Receiver بشكل صحيح، يجب أن تظل رسومات Google Cast لأجهزة الصوت معروضة، حتى إذا لم يتم عرضها. بما أنّه قد لا تتوافق الأجهزة مع عمليات الرسومات المُسرَّعة بالأجهزة، ينبغي على تطبيقات المُستلِم تجنُّب استخدام عمليات الرسومات المكثّفة مثل التدرّجات اللونية والدوران ومزج الألوان وإعادة رسم المجسمات الكبيرة مثل أشرطة التقدم أكثر من مرة في الثانية.
  • لا تتوافق أجهزة Google Cast الصوتية إلا مع معيار Widevine لإدارة الحقوق الرقمية للمحتوى المحمي.
  • في معظم أجهزة Google Cast للصوت، يتحكّم تطبيق المُرسِل في النطاق الكامل لمستوى الصوت في الجهاز (مكبّر صوت مثلاً)، وليس فقط في مستوى صوت مصدر الصوت الذي يتم إدخاله إلى التلفزيون، كما هو الحال مع جهاز Chromecast.
  • بالإضافة إلى التحكّم في التشغيل باستخدام جهاز الإرسال (مثل هاتف)، قد يحتاج التطبيق إلى توفير إمكانية التحكّم في التشغيل باستخدام عناصر التحكّم الخاصة بالجهاز، مثل جهاز التحكّم عن بُعد أو الأزرار على الجهاز أو تطبيق تحكّم عن بُعد خارجي.
  • قد يتيح جهاز Google Cast للصوت عرض البيانات الوصفية للمحتوى باستخدام شاشة LCD صغيرة أو مخرج HDMI (لأجهزة مكبّرات الصوت العمودية أو أجهزة استقبال محتوى ملفوف) أو تطبيق خارجي للتحكم عن بُعد، وذلك استنادًا إلى واجهة مستخدم الجهاز المحدّدة.

تطوير

الخطوة الأولى في تطوير تطبيق Cast لتفعيل تكنولوجيا Google Cast للصوت هي تطوير تطبيق Cast للصوت والفيديو والتأكّد من أنّه يعمل على جهاز Chromecast. يفترض هذا المستند أنّك قد طوّرت تطبيقًا من هذا النوع واختبرت استخدامه.

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

على سبيل المثال، يجب أن تتيح تطبيقات الفيديو والصوت المزدوجة (مثل تطبيقات تشغيل الملفات على الجهاز أو على شبكة أنظمة التخزين الموزّعة) بث المحتوى إلى الأجهزة المخصّصة للصوت فقط من أجل إتاحة تشغيل الملفات الصوتية، ولكن يجب ألا يسمح التطبيق للمستخدم بإرسال ملفات الفيديو إلى الجهاز المخصّص للصوت فقط. يمكن للتطبيق استخدام واجهات برمجة تطبيقات إمكانات الجهاز للمُرسِلين المُوضَّحة أدناه لتحديد المحتوى المناسب للجهاز.

لتفعيل ميزة "بثّ Google للصوت"، يجب أن ينفّذ تطبيقك ما يلي:

  • أن يكون متوافقًا مع الصوت فقط: بث الموسيقى والملفات الصوتية والراديو وما إلى ذلك. يجب ألا يكون الوسائط المُبثَّقة إلى تطبيق Web Receiver بث فيديو. تجنَّب أيضًا بث الرسومات والصور لتحسين وقت تشغيل التطبيق واستخدام الذاكرة. اطّلِع على إرشادات استخدام الذاكرة أدناه.

  • أن يعمل على النحو المتوقّع على جهاز "البث للصوت" وعلى جهاز Chromecast العادي

إمكانات الجهاز

يمكن لتطبيقك معرفة ما إذا كان يعمل على جهاز مخصّص للصوت فقط من خلال واجهتَي برمجة التطبيقات لإمكانيات الجهاز، المتوفّرَتين من الجهاز نفسه أو من خلال واجهتَي برمجة التطبيقات المخصّصَتين للمُرسِل أو المُستلِم.

عنوان HTTP للجهاز

يصف عنوان HTTP‏ CAST-DEVICE-CAPABILITIES الذي يوفّره جهاز البث أثناء بدء تشغيل التطبيق إمكانات الجهاز. يُرسِل الجهاز طلبًا مع هذا العنوان إلى الخادم الذي يستضيف تطبيق Web Receiver. يصف عنوان الجهاز المخصّص للصوت فقط إمكانات الجهاز باستخدام CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

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

Web Receiver API

يمكنك الحصول على عنصر إمكانات الجهاز نفسه من خلال استدعاء CastReceiverManager.getDeviceCapabilities() عند تحميل تطبيق Web Receiver.

يمكنك الاطّلاع على إمكانات الجهاز للحصول على المزيد من المعلومات.

Sender APIs

تحتوي كل واجهات برمجة التطبيقات الخاصة بمُرسِلي البث على معلومات حول إمكانات الجهاز أيضًا. تتيح هذه الأنواع لتطبيق المُرسِل تحديد نوع الوسائط المطلوب إرسالها إلى المُستلِم. إذا كان تطبيقك يتوافق مع الصوت والفيديو، يمكنه تجنُّب إرسال محتوى الفيديو إلى الأجهزة التي توفّر الصوت فقط. يمكن لتطبيقك أيضًا التحكّم في مستوى الصوت باستخدام الطريقة الأنسب للجهاز، كما هو موضّح في قائمة التحقّق من التصميم. اطّلِع على واجهات برمجة التطبيقات التالية لإمكانيات الأجهزة المخصّصة للمُرسِلين:

إرشادات حول استخدام الذاكرة

يجب أن تدير تطبيقات Web Receiver التي تعمل على أجهزة الصوت استخدام الذاكرة على النحو التالي:

  • تجنَّب تنزيل أو استخدام أي مواد عرض صور أو رسومات، وذلك لتقليل المساحة التي تشغلها في الذاكرة وقصر الوقت الذي يستغرقه بدء التشغيل.
  • عند استخدام إضافات مصدر الوسائط (MSE)، يجب أن تحدّ التطبيقات من سعة التخزين المؤقت للبث إلى 2 ميغابايت. في حال استخدام مكتبة مشغل الوسائط (MPL)، تم تحديد حجم ملف التخزين المؤقت للبث في التطبيق من خلال MPL.
  • عند استخدام HTMLMediaElement، يحدِّد Chrome حجم ذاكرة التخزين المؤقت للبث في التطبيق استنادًا إلى معدّل البث. يجب ضبط معدّل نقل البيانات الصوتي على 2 ميغابيت في الثانية، وهو متوافق مع جميع برامج الترميز الموضّحة في الوسائط المتوافقة (ما يصل إلى 48 كيلوهرتز/16 بت).

التحكم في مستوى الصوت

في معظم أجهزة Google Cast للصوت، يتحكّم تطبيق المُرسِل في نطاق مستوى الصوت الكامل للجهاز، وليس فقط في مستوى صوت إدخال مصدر الصوت، كما هو الحال مع جهاز Chromecast. وهذا يعني أنّ الزيادة في مستوى الصوت يجب أن تكون أصغر في التطبيقات التي تعرض محتوًى صوتيًا فقط. اطّلِع على المستندات التالية للحصول على إرشادات حول توفير ميزة التحكّم في مستوى الصوت في تطبيقك:

عناصر التحكّم في الأجهزة

قد تتضمّن أجهزة Google Cast للصوت عناصر تحكّم في التشغيل (مثل buttons، وremotes). وتستخدم هذه الرسائل رسائل تشغيل الوسائط المحدّدة لمساحة اسم urn:x-cast:com.google.cast.media، كما هو موضّح في رسائل تشغيل الوسائط، من أجل التحكّم في التشغيل في تطبيق المُستلِم. يجب أن يتيح تطبيق المُستلِم رسائل تشغيل الوسائط هذه لتفعيل عناصر التحكّم في التشغيل على الجهاز.

يجب أيضًا أن يتيح تطبيق المُرسِل الرسائل من المستلِم إلى المُرسِل كي يتمكّن تطبيق المُرسِل من تلقّي رسالة حالة من المستلِم وتعديل واجهة المستخدم وفقًا لذلك إذا غيّر المستخدم حالة الوسائط باستخدام عناصر التحكّم في الجهاز.

شاشة الجهاز

قد يحتوي جهاز Google Cast للصوت على شاشة LCD على الجهاز أو تطبيق تحكّم خاص بالجهاز يعرض البيانات الوصفية للوسائط. يجب أن يقدّم تطبيق المُستلِم هذه البيانات الوصفية لجميع المقاطع الصوتية وأن يضمن مزامنتها مع المحتوى الذي يتم تشغيله حاليًا لضمان عرض البيانات الوصفية بشكل مناسب على الشاشة. إذا كان التطبيق يستخدم بيانات وصفية مخصّصة، يجب أن يقدّم أيضًا البيانات الوصفية العادية للمحتوى الصوتي (اسم المقطع الصوتي واسم الفنّان وعنوان الألبوم وما إلى ذلك) كما هو موضّح لكل منصة أدناه.

يتلقّى المستلِم البيانات الوصفية من المُرسِل عند تحميل الوسائط. في تطبيق الإرسال، باستخدام الأمر لتحميل الوسائط على جهاز الاستقبال، يجب تحديد الحقول الموضّحة أدناه لكي يتم عرض البيانات الوصفية على جهاز Google Cast للصوت. استخدِم واجهات برمجة التطبيقات التالية:

إذا كان تطبيق Cast يدير قائمة انتظار وسائط على جهاز الاستقبال أو في السحابة الإلكترونية، يجب أن يبث Web Receiver أي تعديلات على حالة الوسائط باستخدام مساحة الاسم urn:x-cast:com.google.cast.media حتى تتم تتمه جدولة جميع المُرسِلين.

التسجيل

يجب تسجيل جهاز Google Cast للصوت من أجل اختباره وتسجيل تطبيقك ليتوافق مع أجهزة Google Cast للصوت، وذلك باستخدام Google Cast SDK Developer Console.

  • يمكنك الاطّلاع على الأجهزة للحصول على مزيد من المعلومات حول تسجيل الأجهزة.
  • يجب وضع علامة في مربّع الاختيار يمكن بث المحتوى إلى أجهزة الصوت فقط عند تسجيل تطبيقك للسماح له باكتشاف أجهزة Google Cast لبث المحتوى الصوتي. راجِع تسجيل تطبيقك.

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

‫Google Cast for Audio 2.0

‫Google Cast for Audio (GC4A) 2.0 هي الجيل التالي من منصّة Cast الصوتية المصمّمة لاستهداف الأجهزة ذات الذاكرة المنخفضة، لتوسيع منظومة الأجهزة التي يمكنها بث المحتوى. بما أنّ الإصدار 2.0 من Google Cast لأجهزة Android يستهدف منصات الصوت، تم تقليل مجموعة واجهة برمجة التطبيقات للويب بما يتوافق مع الأجهزة التي لا تتضمّن شاشة. يتم طرح الإصدار 2.0 من Google Cast لأجهزة مكبّرات الصوت الجديدة والحالية المتوافقة مع ميزة البث.

الاختبار وتصحيح الأخطاء

بما أنّ جميع مكبّرات الصوت المتوافقة ستنتقل إلى الإصدار 2.0 من Google Cast Audio، من المهم أن يختبر مطوّرو تطبيقات الصوت تطبيقاتهم على الإصدار 2.0 من Google Cast Audio. يمكنك اختبار تطبيق البث لنظام التشغيل GC4A 2.0 على أي من أجهزة GC4A 2.0 المدرَجة هنا.

لا يتوافق الإصدار 2.0 من GC4A مع أداة Chrome Remote Debugger. إذا أردت تصحيح أخطاء تطبيقك، تنصح Google باستخدام مُسجِّل تصحيح أخطاء البث.

الأجهزة المتاحة التي تتضمّن الإصدار 2.0 من "شركاء المحتوى في Google Play"

في ما يلي قائمة غير شاملة بأجهزة GC4A 2.0:

  • Bose: مكبّر صوت وشريط صوت ذكي مزوّد بتقنية Wi-Fi
  • JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200 و300 و500
  • Samsung: إطار الموسيقى / مكبّرات الصوت العمودية
  • LG: مكبّرات الصوت S90TY/SG10TY/SE70Q/S80Q/S90Q
  • Bang & Olufsen Beosound 2 / Beocore Connect
  • Sonoro Maestro 2 / Meisterstruck 2
  • Cambridge Audio MXN10
  • KEF LS60 / LSX II
  • Teufel Motiv Home
  • Nordic Argon Audio
  • WiiM CI MOD S / Ultra

ننصحك باختبار جميع ميزات التطبيق على الإصدار 2.0 من "إحصاءات Google‏ 4". احرص على تضمين اختبارات تتعلّق بتشغيل جميع أنواع الوسائط (مثل ملفات البودكاست وعمليات البث وما إلى ذلك) وإيقافها مؤقتًا والتقديم والترجيع والتخطّي وتغيير قوائم التشغيل وإيقافها وإعادة ربط جهاز البث.

واجهات برمجة التطبيقات المتوافقة

يتوافق الإصدار 2.0 من GC4A مع واجهات برمجة التطبيقات التالية:

  • HTML
  • JavaScript ECMA 6
  • DOMParser
  • XMLSerializer
  • الفئات الفرعية للمستندات
  • DocumentFragment
  • HTMLMediaElement وHTMLAudioElement
  • HTMLVideoElement (يمكن تشغيل محتوى صوتي فقط)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • العناصر المخصّصة
  • نموذج DOM للظل
  • وحدات النصوص البرمجية / غير المتزامنة / المؤجَّلة
  • Fetch / XHR
  • WebSocket
  • MessagePort
  • بسكويت
  • MSE (Media Source Extensions)
  • EME (إضافات الوسائط المشفّرة)
  • مساحة التخزين المحلية / مساحة تخزين الجلسة

لا تتيح واجهة برمجة التطبيقات GC4A 2.0 ما يلي:

  • استيراد الوحدات الديناميكية (سيتمّت إضافته في 2024)
  • CSS
  • IFrame
  • TextTracks

معلومات الاتصال

يُرجى التواصل مع gc4a-support-external@google.com إذا كنت بحاجة إلى مساعدة في الإعداد للاختبار أو إذا لم تتمكّن من استخدام مكبّر صوت Bose.