تتحكّم تطبيقات الإرسال في Google Cast في التشغيل على جهاز الاستقبال من خلال إرسال رسائل بتنسيق JSON إلى تطبيق الاستقبال. وبالمثل، يرسل المستلِم رسائل إلى المرسِل بتنسيق JSON أيضًا. قد تكون الرسائل أوامر من المُرسِل تغيّر حالة المشغّل، أو ردودًا على هذه الأوامر من المستلِم، أو بُنى بيانات تصف الوسائط لتطبيق المستلِم.
وفقًا لبنود الخدمة الإضافية الخاصة بحزمة تطوير البرامج (SDK) في Google Cast، يجب أن يستخدم تطبيق وسائط Cast هذه الرسائل على النحو المحدّد هنا للتحكّم في تشغيل الوسائط على جهاز الاستقبال. ويوفّر ذلك لتطبيق الوسائط تجربة مستخدم متّسقة على جميع المنصات، كما يضمن أنّ تطبيق Cast سيتوافق مع حالات الاستخدام الجديدة والمستقبلية. تتيح هذه البِنى أيضًا بيانات مخصّصة، حسب الاقتضاء، ويمكن للتطبيق تحديد رسائله الخاصة للأوامر التي لا تتوافق مع حزمة تطوير البرامج (SDK).
يتم تحديد مساحة الاسم لرسائل تشغيل الوسائط على النحو التالي: urn:x-cast:com.google.cast.media.
ملاحظة: تحتوي الرسائل والبِنى في هذا المواصفات على حدّ أقصى ضمني للحجم يتم تحديده من خلال الحدّ الأقصى لحجم رسالة النقل، ولا يوجد حدّ للحقول الفردية. يبلغ الحد الأقصى لحجم رسالة النقل حاليًا 64 كيلوبايت.
هياكل بيانات مساحات الأسماء الشائعة
يتم تحديد مجموعة فرعية من بنى البيانات المستخدَمة في جميع عناصر مساحة اسم الوسائط في مساحة اسم مشتركة.
صورة
هذا هو وصف صورة، بما في ذلك كمية صغيرة من البيانات الوصفية للسماح لتطبيق المرسِل باختيار الصور، وذلك حسب طريقة عرضها.
يكون الارتفاع والعرض اختياريَين في عنصر واحد فقط ضمن مصفوفة من الصور. على سبيل المثال، إذا تم عرض عنصر واحد، يكون العنصر اختياريًا. أما إذا تم عرض عنصرَين، فيجب أن يحدّد أحد العنصرَين الارتفاع والعرض، ولكن يمكن للمرسِل اختيار الخيار "تلقائي" إذا لم يعجبه العنصر الذي تم تمريره مع مَعلمات محدّدة.
| الاسم | النوع | الوصف |
|---|---|---|
| url | معرّف الموارد المنتظم (URI) | معرّف الموارد المنتظم (URI) الخاص بالصورة |
| height | عدد صحيح | اختياري ارتفاع الصورة |
| width | عدد صحيح | اختياري عرض الصورة |
مستوى الصوت
مستوى صوت بث الوسائط يُستخدم لتطبيق تأثيرات التلاشي التدريجي في دفق الوسائط. (ملاحظة: يتم تغيير مستوى صوت النظام باستخدام واجهات برمجة التطبيقات الخاصة بالمرسل). يجب عدم استخدام مستوى صوت البث مع شريط تمرير مستوى الصوت أو أزرار مستوى الصوت للتحكّم في مستوى صوت الجهاز. يجب تمرير مَعلمة واحدة على الأقل من المَعلمات التالية لتغيير مستوى صوت البث.
| الاسم | النوع | الوصف |
|---|---|---|
| المستوى | مزدوج | اختياري مستوى صوت البث الحالي كقيمة بين 0.0 و1.0، حيث يمثّل 1.0 أعلى مستوى صوت. |
| muted | قيمة منطقية | اختياري ما إذا كان جهاز البث مكبوت الصوت، بغض النظر عن مستوى الصوت |
هياكل بيانات مساحة الاسم الخاصة بالوسائط
تصف هذه الرسائل حالة مشغّل الوسائط. مساحة الاسم هي urn:x-cast:com.google.cast.media.
MediaInformation
تصف بنية البيانات هذه بث الوسائط.
| الاسم | النوع | الوصف |
|---|---|---|
| contentId | سلسلة | معرّف خاص بالخدمة للمحتوى الذي يتم تحميله حاليًا بواسطة مشغّل الوسائط هذا الحقل عبارة عن سلسلة ذات شكل حر ومحدّد للتطبيق. في معظم الحالات، سيكون هذا هو عنوان URL الخاص بالوسائط، ولكن يمكن للمرسل اختيار تمرير سلسلة يمكن للمستلم تفسيرها بشكل صحيح. الحد الأقصى للطول: 1000 حرف |
| streamType | enum (string) |
تصف هذه السمة نوع العنصر الإعلامي على أنّه أحد الأنواع التالية:
|
| contentType | سلسلة | نوع محتوى MIME للوسائط التي يتم تشغيلها |
| البيانات الوصفية | عنصر | اختياري كائن البيانات الوصفية للوسائط، وهو أحد الخيارات التالية: |
| المدة | مزدوج | اختياري مدة البث الحالي بالثواني |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها إما تطبيق المُرسِل أو تطبيق المُستلِم |
GenericMediaMetadata
تصف هذه السمة عنصر وسائط عامًا.
| الاسم | النوع | الوصف |
|---|---|---|
| metadataType | عدد صحيح | 0 (القيمة الوحيدة) |
| title | سلسلة | اختيارية تمثّل هذه السمة عنوانًا وصفيًا للمحتوى. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| subtitle | سلسلة | اختيارية تمثّل هذه السمة عنوانًا فرعيًا وصفيًا للمحتوى. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| الصور | Image[] | اختيارية مصفوفة من عناوين URL لصورة مرتبطة بالمحتوى يمكن للمرسِل تقديم القيمة الأولية للحقل في رسالة التحميل. يجب توفير الأحجام المقترَحة |
| releaseDate | سلسلة (ISO 8601) | اختيارية تمثّل هذه السمة تاريخ ووقت إصدار هذا المحتوى بتنسيق ISO 8601. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
MovieMediaMetadata
تصف هذه السمة عنصرًا من عناصر الوسائط الخاصة بالأفلام.
| الاسم | النوع | الوصف |
|---|---|---|
| metadataType | عدد صحيح | 1 (القيمة الوحيدة) |
| title | سلسلة | اختيارية تمثّل هذه السمة عنوانًا وصفيًا للمحتوى. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| subtitle | سلسلة | اختيارية تمثّل هذه السمة عنوانًا فرعيًا وصفيًا للمحتوى. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| studio | سلسلة | اختياري الاستوديو الذي نشر المحتوى يمكن للمشغّل استرداد معلومات الاستوديو بشكل مستقل باستخدام content_id أو يمكن للمرسل تقديمها في رسالة Load. |
| الصور | Image[] | اختيارية مصفوفة من عناوين URL لصورة مرتبطة بالمحتوى يمكن للمرسِل تقديم القيمة الأولية للحقل في رسالة التحميل. يجب توفير الأحجام المقترَحة |
| releaseDate | سلسلة (ISO 8601) | اختيارية تمثّل هذه السمة تاريخ ووقت إصدار هذا المحتوى بتنسيق ISO 8601. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
TvShowMediaMetadata
تصف هذه السمة قطعة وسائط لحلقة من برنامج تلفزيوني.
| الاسم | النوع | الوصف |
|---|---|---|
| metadataType | عدد صحيح | 2 (القيمة الوحيدة) |
| seriesTitle | سلسلة | اختياري عنوان وصفي للمسلسل التلفزيوني. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| subtitle | سلسلة | اختياري تمثّل عنوانًا فرعيًا وصفيًا للحلقة التلفزيونية. يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| season | عدد صحيح | اختياري رقم موسم البرنامج التلفزيوني |
| episode | عدد صحيح | اختياري رقم الحلقة (في الموسم) من البرنامج التلفزيوني |
| الصور | Image[] | اختيارية مصفوفة من عناوين URL لصورة مرتبطة بالمحتوى يمكن للمرسِل تقديم القيمة الأولية للحقل في رسالة التحميل. يجب توفير الأحجام المقترَحة |
| originalAirDate | سلسلة (ISO 8601) | اختيارية تمثّل هذه السمة تاريخ ووقت إصدار هذه الحلقة بتنسيق ISO 8601. يمكن للمشغّل استرداد قيمة originalAirDate بشكل مستقل باستخدام content_id أو يمكن أن يقدّمها المرسِل في رسالة Load. |
MusicTrackMediaMetadata
تصف هذه السمة عنصر وسائط لمقطع موسيقي.
| الاسم | النوع | الوصف |
|---|---|---|
| metadataType | عدد صحيح | 3 (القيمة الوحيدة) |
| albumName | سلسلة | اختيارية الألبوم أو المجموعة التي تم استخراج هذا المقطع الصوتي منها يمكن للمشغّل استرداد albumName بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المُرسِل في رسالة Load |
| title | سلسلة | اختياري اسم المقطع الصوتي (على سبيل المثال، عنوان الأغنية). يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| albumArtist | سلسلة | اختيارية اسم الفنان المرتبط بالألبوم الذي تتضمّن هذه الأغنية. يمكن للمشغّل استرداد albumArtist بشكل مستقل باستخدام content_id أو يمكن للمرسِل تقديمه في رسالة Load |
| artist | سلسلة | اختيارية اسم الفنّان المرتبط بمقطع الوسائط. يمكن للمشغّل استرداد الفنان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load |
| composer | سلسلة | اختياري اسم المؤلّف المرتبط بمقطع الوسائط. يمكن للمشغّل استرداد معلومات الملحّن بشكل مستقل باستخدام content_id أو يمكن للمرسِل تقديمها في رسالة Load. |
| trackNumber | عدد صحيح | اختياري رقم المقطع الصوتي في الألبوم |
| discNumber | عدد صحيح | اختياري عدد الأقراص (على سبيل المثال، قرص) للألبوم |
| الصور | Image[] | اختيارية مصفوفة من عناوين URL لصورة مرتبطة بالمحتوى يمكن للمرسِل تقديم القيمة الأولية للحقل في رسالة التحميل. يجب توفير الأحجام المقترَحة |
| releaseDate | سلسلة (ISO 8601) | اختيارية تمثّل هذه السمة تاريخ ووقت إصدار هذا المحتوى بتنسيق ISO 8601. يمكن للمشغّل استرداد releaseDate بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسِل في رسالة Load. |
PhotoMediaMetadata
تصف هذه السمة عنصرًا من عناصر الوسائط الفوتوغرافية.
| الاسم | النوع | الوصف |
|---|---|---|
| metadataType | عدد صحيح | 4 (القيمة الوحيدة) |
| title | سلسلة | اختياري عنوان الصورة يمكن للمشغّل استرداد العنوان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load. |
| artist | سلسلة | اختيارية اسم المصوّر. يمكن للمشغّل استرداد الفنان بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسل في رسالة Load |
| الموقع الجغرافي | سلسلة | اختياري الموقع الجغرافي اللفظي الذي تم التقاط الصورة فيه، مثل "مدريد، إسبانيا" يمكن للمشغّل استرداد الموقع الجغرافي بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسِل في رسالة Load. |
| latitude | مزدوج | اختيارية قيمة خط العرض الجغرافي للموقع الذي تم التقاط الصورة فيه. يمكن للمشغّل استرداد خط العرض بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسِل في رسالة Load. |
| longitude | مزدوج | اختياري قيمة خط الطول الجغرافي للموقع الذي تم التقاط الصورة فيه. يمكن للمشغّل استرداد خط الطول بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المُرسِل في رسالة Load. |
| width | عدد صحيح | اختياري تمثّل هذه السمة عرض الصورة بالبكسل. يمكن للمشغّل استرداد العرض بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسِل في رسالة Load. |
| height | عدد صحيح | اختياري تمثّل هذه السمة ارتفاع الصورة بالبكسل. يمكن للمشغّل استرداد الارتفاع بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المُرسِل في رسالة Load. |
| creationDateTime | سلسلة (ISO 8601) | اختياري تمثّل هذه السمة تاريخ ووقت التقاط هذه الصورة بتنسيق ISO 8601. يمكن للمشغّل استرداد creationDateTime بشكل مستقل باستخدام content_id أو يمكن أن يقدّمه المرسِل في رسالة Load |
MediaStatus
تصف هذه السمة الحالة الحالية لعنصر الوسائط في ما يتعلّق بالجلسة.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | المعرّف الفريد لتشغيل هذه الجلسة المحدّدة. يتم ضبط رقم التعريف هذا من قِبل جهاز الاستقبال عند LOAD ويمكن استخدامه لتحديد مثيل معيّن من التشغيل. على سبيل المثال، سيكون لكل عملية تشغيل لأغنية "Wish you were here" ضِمن الجلسة نفسها رقم تعريف فريد لـ mediaSessionId. |
| media | MediaInformation | اختياري (لرسائل الحالة) وصف كامل للمحتوى الذي يتم تشغيله. يجب إرجاعها في رسائل الحالة فقط إذا تغيّرت MediaInformation. |
| playbackRate | عدد عائم | تشير هذه السمة إلى ما إذا كان وقت الوسائط يتقدّم، وإلى معدّل تقدّمه. وهذا مستقل عن حالة المشغّل لأنّه يمكن إيقاف وقت الوسائط في أي حالة. 1.0 هو الوقت العادي، و0.5 هو التصوير البطيء |
| playerState | تعداد (سلسلة) | تصف هذه السمة حالة المشغّل على النحو التالي:
|
| idleReason | تعداد (سلسلة) | اختيارية يتم توفير هذه السمة إذا كانت قيمة playerState هي IDLE وكان سبب تحوّلها إلى IDLE معروفًا. إذا كان المشغّل في حالة IDLE لأنّه بدأ التشغيل للتو، لن يتم توفير هذه السمة. وإذا كان المشغّل في أي حالة أخرى، يجب عدم توفير هذه السمة. تنطبق القيم التالية:
|
| currentTime | مزدوج | الموضع الحالي لمشغّل الوسائط منذ بداية المحتوى، بالثواني إذا كان هذا المحتوى عبارة عن بث مباشر، يمثّل هذا الحقل الوقت بالثواني منذ بداية الحدث الذي يجب أن يعرفه المشغّل. |
| supportedMediaCommands | أعلام | علامات تصف أوامر الوسائط التي يتيحها مشغّل الوسائط:
يتم وصف المجموعات على أنّها عمليات جمع، على سبيل المثال، Pause+Seek+StreamVolume+Mute == 15. |
| مستوى الصوت | مستوى الصوت | مستوى صوت البث |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المستلِم |
الأوامر من المُرسِل إلى المستلِم
تتحكّم هذه الأوامر في مشغّل الوسائط. يجب أن تكون جميع عناصر customData في الرسائل أدناه اختيارية (أي يجب أن يتمكن المستلِم من التعامل معها بشكل صحيح في حال عدم تمرير البيانات). سيسمح ذلك لتطبيقات التحكّم عن بُعد العامة بالعمل بشكل صحيح.
التحميل
تحميل محتوى جديد في مشغّل الوسائط
| الاسم | النوع | الوصف |
|---|---|---|
| requestId | عدد صحيح | معرّف الطلب، لربط الطلب بالردّ |
| type | سلسلة | تحميل (القيمة فقط) |
| media | MediaInformation | البيانات الوصفية (بما في ذلك contentId) للوسائط التي سيتم تحميلها |
| التشغيل التلقائي | قيمة منطقية | اختياري (القيمة التلقائية هي true): إذا تم تحديد مَعلمة التشغيل التلقائي، سيبدأ مشغّل الوسائط في تشغيل المحتوى عند تحميله. حتى إذا لم يتم تحديد التشغيل التلقائي، قد يختار تنفيذ مشغّل الوسائط بدء التشغيل على الفور. إذا بدأ التشغيل، يجب ضبط حالة المشغّل في الردّ على BUFFERING، وإلا يجب ضبطها على PAUSED. |
| currentTime | مزدوج | اختياري عدد الثواني منذ بداية المحتوى إذا كان المحتوى بثًا مباشرًا ولم يتم تحديد الموضع، سيبدأ البث عند موضع البث المباشر. |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| بدون | تغيير حالة المستلِم | رسالة "تغيير حالة الوسائط" | حالة مشغّل غير صالحة تعذّر التحميل تم إلغاء التحميل |
إيقاف مؤقت
يوقِف هذا الزر تشغيل المحتوى الحالي مؤقتًا. يؤدي إلى إرسال إشعار بحدث STATUS إلى جميع تطبيقات المُرسِل.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | معرّف جلسة الوسائط التي سيتم إيقافها مؤقتًا |
| requestId | عدد صحيح | معرّف الطلب، ويُستخدم لربط الطلب بالردّ |
| type | سلسلة | PAUSE (القيمة الوحيدة) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| بدون | تغيير حالة المستلِم | رسالة تغيير حالة الوسائط | حالة المشغّل غير صالحة |
تقديم/ترجيع
تضبط هذه السمة الموضع الحالي في البث. يؤدي إلى إرسال إشعار بحدث STATUS إلى جميع تطبيقات المُرسِل. إذا كان الموضع المقدَّم خارج نطاق المواضع الصالحة للمحتوى الحالي، على المشغّل اختيار موضع صالح أقرب ما يمكن إلى الموضع المطلوب.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | معرّف جلسة الوسائط التي تم فيها ضبط موضع البث |
| requestId | عدد صحيح | معرّف الطلب، لربط الطلب بالردّ |
| type | سلسلة | SEEK (القيمة فقط) |
| resumeState | تعداد (سلسلة) | اختياري في حال عدم ضبط هذه السمة، لن تتغيّر حالة التشغيل، وتنطبق القيم التالية:
|
| currentTime | مزدوج | اختياري عدد الثواني منذ بداية المحتوى إذا كان المحتوى بثًا مباشرًا ولم يتم تحديد الموضع، سيبدأ البث عند موضع البث المباشر. |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| بدون | تغيير حالة المستلِم | رسالة "تغيير حالة الوسائط" | حالة المشغّل غير صالحة |
إيقاف
يوقف هذا الزر تشغيل المحتوى الحالي. يؤدي إلى إرسال إشعار بحدث STATUS إلى جميع تطبيقات المُرسِل. بعد تنفيذ هذا الأمر، لن يتم تحميل المحتوى وسيتم إبطال mediaSessionId.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | معرّف جلسة الوسائط التي سيتم إيقاف المحتوى فيها |
| requestId | عدد صحيح | معرّف الطلب، لربط الطلب بالردّ |
| type | سلسلة | STOP (القيمة فقط) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| بدون | تغيير حالة المستلِم | رسالة "تغيير حالة الوسائط" | حالة المشغّل غير صالحة |
تشغيل
يبدأ تشغيل المحتوى الذي تم تحميله باستخدام طلب التحميل، ويستمر التشغيل من موضع الوقت الحالي.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | معرّف جلسة الوسائط للمحتوى المطلوب تشغيله |
| requestId | عدد صحيح | معرّف الطلب، لربط الطلب بالردّ |
| type | سلسلة | PLAY (القيمة فقط) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| بدون | تغيير حالة المستلِم | رسالة "تغيير حالة الوسائط" | حالة المشغّل غير صالحة |
الحصول على الحالة
يستردّ حالة الوسائط.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | اختياري معرّف جلسة الوسائط التي يجب عرض حالة الوسائط لها. في حال عدم توفير أي منها، سيتم تقديم الحالة لجميع أرقام تعريف جلسات الوسائط. |
| requestId | عدد صحيح | معرّف الطلب، لربط الطلب بالردّ |
| type | سلسلة | GET_STATUS (القيمة فقط) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| رسالة MediaStatus إلى المُرسِل الذي طلبها | بدون | ما مِن قيمة | بدون |
SetVolume
تضبط هذه السمة مستوى صوت بث الوسائط. يُستخدم لتطبيق تأثيرات التلاشي التدريجي في دفق الوسائط. (ملاحظة: يتم تغيير مستوى صوت جهاز الاستقبال باستخدام أداة الإرسال على الويب setVolume). يجب عدم استخدام مستوى صوت البث مع شريط تمرير مستوى الصوت أو أزرار مستوى الصوت للتحكّم في مستوى صوت الجهاز. لن يؤدي تغيير مستوى صوت البث إلى ظهور أي واجهة مستخدم على جهاز الاستقبال.
| الاسم | النوع | الوصف |
|---|---|---|
| mediaSessionId | عدد صحيح | معرّف جلسة الوسائط التي تم تغيير مستوى صوت البث فيها |
| requestId | عدد صحيح | معرّف الطلب، لربط الطلب بالردّ |
| type | سلسلة | VOLUME (القيمة فقط) |
| مستوى الصوت | مستوى الصوت | مستوى صوت البث |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المُرسِل |
| الردّ | العوامل التي تؤدي إلى الظهور | عمليات البث | الأخطاء |
|---|---|---|---|
| بدون | تغيير حالة المستلِم | رسالة "تغيير حالة الوسائط" | حالة المشغّل غير صالحة |
الرسائل من المستلِم إلى المُرسِل
يرسل المستلِم نوعَين من الرسائل:
- الأخطاء: رسائل البث الأحادي التي يتم إرسالها عند تلقّي ردّ يتضمّن خطأ على طلب من المُرسِل.
- الحالة: رسائل البث
- نتيجة إجراء بدأه المُرسِل سيحتوي على رقم تعريف الطلب الذي أدّى إلى التغيير.
- تلقائي: على سبيل المثال، بسبب تغيير تم تفعيله من خلال تطبيق المستلِم سيكون RequestId هو 0.
خطأ: حالة المشغّل غير صالحة
يتم إرسال هذا الحدث عندما يتعذّر تنفيذ طلب المرسِل لأنّ المشغّل ليس في حالة صالحة. على سبيل المثال، إذا لم ينشئ التطبيق عنصر وسائط بعد.
| الاسم | النوع | الوصف |
|---|---|---|
| requestId | عدد صحيح | معرّف الطلب الذي تسبّب في حدوث هذا الخطأ |
| type | سلسلة | INVALID_PLAYER_STATE (القيمة فقط) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المستلِم |
خطأ: تعذّر التحميل
يتم إرسال هذا الحدث عندما يتعذّر تنفيذ طلب التحميل. ستكون حالة المشغّل IDLE.
| الاسم | النوع | الوصف |
|---|---|---|
| requestId | عدد صحيح | معرّف الطلب الذي تسبّب في حدوث هذا الخطأ |
| type | سلسلة | LOAD_FAILED (القيمة فقط) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المستلِم |
خطأ: تم إلغاء التحميل
يتم إرسال هذا الحدث عند إلغاء طلب التحميل (تم تلقّي طلب تحميل ثانٍ).
| الاسم | النوع | الوصف |
|---|---|---|
| requestId | عدد صحيح | معرّف الطلب الذي تسبّب في حدوث هذا الخطأ |
| type | سلسلة | LOAD_CANCELLED (القيمة الوحيدة) |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المستلِم |
خطأ: طلب غير صالح
يتم إرسال هذا الرمز عندما يكون الطلب غير صالح (مثل نوع طلب غير معروف).
| الاسم | النوع | الوصف |
|---|---|---|
| requestId | عدد صحيح | معرّف الطلب الذي تسبّب في حدوث هذا الخطأ |
| type | سلسلة | INVALID_REQUEST (القيمة فقط) |
| السبب | تعداد (سلسلة) | القيم:
|
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المستلِم |
حالة الوسائط
يتم إرسالها بعد تغيير الحالة أو بعد طلب حالة الوسائط. سيتم إرسال عناصر MediaStatus التي تم تغييرها أو طلبها فقط.
| الاسم | النوع | الوصف |
|---|---|---|
| requestId | عدد صحيح | المعرّف المستخدَم لربط استجابة الحالة هذه بالطلب الذي أدى إلى إنشائها أو 0 إذا كانت رسالة الحالة تلقائية (لم يتم تشغيلها بطلب من المُرسِل). ستنشئ تطبيقات المُرسِل أرقام تعريف فريدة للطلبات من خلال اختيار رقم عشوائي وزيادته باستمرار (لن تستخدم الرقم 0). |
| type | سلسلة | MEDIA_STATUS (القيمة فقط) |
| الحالة | MediaStatus[] | مصفوفة من عناصر "حالة الوسائط" ملاحظة: لن يتم عرض عنصر الوسائط في MediaStatus إلا إذا تم تغييره. |
| customData | عنصر | اختياري مجموعة بيانات خاصة بالتطبيق يحدّدها تطبيق المستلِم |