برنامههای فرستندهی گوگل کست با ارسال پیامهایی با فرمت JSON به برنامهی گیرنده، پخش در دستگاه گیرنده را کنترل میکنند. به همین ترتیب، گیرنده نیز پیامهایی را به فرستنده، آن هم در قالب JSON، ارسال میکند. این پیامها ممکن است دستوراتی از فرستنده باشند که وضعیت پخشکننده را تغییر میدهند، پاسخهایی از گیرنده به آن دستورات باشند، یا ساختارهای دادهای باشند که رسانه را برای برنامهی گیرنده توصیف میکنند.
طبق شرایط خدمات توسعهدهندگان اضافی Google Cast SDK ، یک برنامه رسانهای Cast باید از این پیامها که در اینجا تعریف شدهاند برای کنترل پخش رسانه در گیرنده استفاده کند. انجام این کار، تجربه کاربری ثابتی را در پلتفرمهای مختلف برای برنامه رسانهای فراهم میکند و تضمین میکند که یک برنامه Cast از موارد استفاده جدید و آینده پشتیبانی خواهد کرد. این ساختارها همچنین در صورت لزوم از دادههای سفارشی پشتیبانی میکنند و یک برنامه ممکن است پیامهای خود را برای دستوراتی که توسط SDK پشتیبانی نمیشوند، تعریف کند.
فضای نام برای پیامهای پخش رسانه به صورت urn:x-cast:com.google.cast.media تعریف شده است.
توجه: پیامها و ساختارهای موجود در این مشخصات دارای حداکثر اندازه ضمنی هستند که توسط حداکثر اندازه یک پیام انتقال تعیین میشود، هیچ محدودیتی برای فیلدهای منفرد وجود ندارد. حداکثر اندازه پیام انتقال در حال حاضر ۶۴ کیلوبایت است.
ساختارهای داده فضای نام رایج
مجموعهای از ساختارهای داده که توسط همه مصنوعات فضای نام رسانه استفاده میشود، در یک فضای نام مشترک تعریف شده است.
تصویر
این توصیف یک تصویر است، شامل مقدار کمی فراداده که به برنامه فرستنده اجازه میدهد بسته به نحوه رندر آنها، از بین تصاویر انتخاب کند.
ارتفاع و عرض فقط برای یک مورد در آرایهای از تصاویر اختیاری هستند. برای مثال، اگر یک مورد برگردانده شود، آنها اختیاری هستند؛ اگر دو مورد برگردانده شود، یک مورد باید ارتفاع و عرض را مشخص کند، اما فرستنده میتواند در صورت عدم تمایل به گزینه "پیشفرض" با پارامترهای خاص، آن را انتخاب کند.
| نام | نوع | توضیحات |
|---|---|---|
| آدرس اینترنتی | یو آر آی | آدرس اینترنتی (URI) برای تصویر |
| ارتفاع | عدد صحیح | ارتفاع تصویر اختیاری |
| عرض | عدد صحیح | عرض تصویر اختیاری |
حجم
میزان صدای جریان رسانه. برای جلوههای محو شدن/محو شدن در جریان رسانه استفاده میشود. (توجه: صدای سیستم با استفاده از APIهای فرستنده تغییر میکند.) صدای جریان نباید همراه با اسلایدر صدا یا دکمههای صدا برای کنترل صدای دستگاه استفاده شود. برای تغییر صدای جریان، حداقل یکی از پارامترهای زیر باید ارسال شود.
| نام | نوع | توضیحات |
|---|---|---|
| سطح | دو برابر | سطح صدای جریان فعلی اختیاری به عنوان مقداری بین ۰.۰ و ۱.۰ که ۱.۰ حداکثر صدا است. |
| خاموش | بولی | اختیاری اینکه آیا دستگاه Cast بیصدا باشد یا خیر، مستقل از میزان صدا |
ساختارهای داده فضای نام رسانه
این پیامها وضعیت پخشکنندهی رسانه را توصیف میکنند. فضای نام urn:x-cast:com.google.cast.media است.
اطلاعات رسانهای
این ساختار داده، یک جریان رسانهای را توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه محتوا | رشته | شناسهی مختص سرویسِ محتوایی که در حال حاضر توسط پخشکنندهی رسانه بارگذاری میشود. این یک رشتهی آزاد است و مختص برنامه میباشد. در بیشتر موارد، این URL مربوط به رسانه خواهد بود، اما فرستنده میتواند رشتهای را ارسال کند که گیرنده بتواند آن را به درستی تفسیر کند. حداکثر طول: ۱ کیلوبایت |
| نوع جریان | شمارشی (رشته) | نوع مصنوع رسانهای را به عنوان یکی از موارد زیر توصیف میکند:
|
| نوع محتوا | رشته | نوع محتوای MIME رسانه در حال پخش |
| فراداده | شیء | اختیاری شیء فراداده رسانه، یکی از موارد زیر: |
| مدت زمان | دو برابر | مدت زمان پخش جریان فعلی (اختیاری) بر حسب ثانیه |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده یا برنامهی گیرنده تعریف میشود |
فرادادههای عمومی
یک مصنوع رسانهای عمومی را توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| نوع فراداده | عدد صحیح | ۰ (تنها مقدار) |
| عنوان | رشته | عنوان توصیفی اختیاری محتوا. بازیکن میتواند عنوان را به طور مستقل با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| زیرنویس | رشته | زیرنویس توصیفی اختیاری محتوا. پخشکننده میتواند بهطور مستقل عنوان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری ارائه شود. |
| تصاویر | تصویر [] | آرایهای اختیاری از آدرسهای اینترنتی (URL) مربوط به تصویر مرتبط با محتوا. مقدار اولیه فیلد میتواند توسط فرستنده در پیام بارگذاری ارائه شود. باید اندازههای توصیهشده ارائه شود. |
| تاریخ انتشار | رشته (ایزو ۸۶۰۱) | تاریخ و زمان انتشار این محتوا مطابق با استاندارد ISO 8601 اختیاری است . بازیکن میتواند عنوان را بهطور مستقل با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری ارائه شود. |
فرادادهی فیلمرسانه
یک اثر رسانهای سینمایی را توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| نوع فراداده | عدد صحیح | ۱ (تنها مقدار) |
| عنوان | رشته | عنوان توصیفی اختیاری محتوا. بازیکن میتواند عنوان را به طور مستقل با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| زیرنویس | رشته | زیرنویس توصیفی اختیاری محتوا. پخشکننده میتواند بهطور مستقل عنوان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری ارائه شود. |
| استودیو | رشته | اختیاری، Studio که محتوا را منتشر کرده است. بازیکن میتواند به طور مستقل studio را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| تصاویر | تصویر [] | آرایهای اختیاری از آدرسهای اینترنتی (URL) مربوط به تصویر مرتبط با محتوا. مقدار اولیه فیلد میتواند توسط فرستنده در پیام بارگذاری ارائه شود. باید اندازههای توصیهشده ارائه شود. |
| تاریخ انتشار | رشته (ایزو ۸۶۰۱) | تاریخ و زمان انتشار این محتوا مطابق با استاندارد ISO 8601 اختیاری است . بازیکن میتواند عنوان را بهطور مستقل با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری ارائه شود. |
فراداده TvShowMedia
یک اثر هنری رسانهایِ اپیزود یک برنامه تلویزیونی را توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| نوع فراداده | عدد صحیح | ۲ (تنها مقدار) |
| عنوان سریال | رشته | عنوان توصیفی اختیاری سریال تلویزیونی. پخشکننده میتواند بهطور مستقل عنوان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| زیرنویس | رشته | زیرنویس توصیفی اختیاری برای قسمت تلویزیونی. پخشکننده میتواند بهطور مستقل عنوان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری ارائه شود. |
| فصل | عدد صحیح | شماره فصل اختیاری برنامه تلویزیونی |
| قسمت | عدد صحیح | شماره قسمت اختیاری (در فصل) برنامه تلویزیونی |
| تصاویر | تصویر [] | آرایهای اختیاری از آدرسهای اینترنتی (URL) مربوط به تصویر مرتبط با محتوا. مقدار اولیه فیلد میتواند توسط فرستنده در پیام بارگذاری ارائه شود. باید اندازههای توصیهشده ارائه شود. |
| اصلیAirDate | رشته (ایزو ۸۶۰۱) | تاریخ و زمان انتشار این قسمت با استاندارد ISO 8601 اختیاری است . بازیکن میتواند بهطور مستقل تاریخ اصلی AirDate را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
موسیقی، آهنگ، رسانه، فراداده
یک مصنوع رسانهای قطعه موسیقی را توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| نوع فراداده | عدد صحیح | ۳ (تنها مقدار) |
| نام آلبوم | رشته | آلبوم یا مجموعه اختیاری که این آهنگ از آن گرفته شده است. پخشکننده میتواند بهطور مستقل نام آلبوم را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| عنوان | رشته | نام اختیاری آهنگ (برای مثال، عنوان آهنگ). پخشکننده میتواند بهطور مستقل عنوان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| آلبومهنرمند | رشته | نام اختیاری هنرمند مرتبط با آلبومی که این آهنگ را دارد. پخشکننده میتواند بهطور مستقل albumArtist را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| هنرمند | رشته | نام هنرمند مرتبط با آهنگ رسانهای اختیاری است . پخشکننده میتواند بهطور مستقل هنرمند را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| آهنگساز | رشته | نام آهنگساز مرتبط با قطعه رسانهای اختیاری است . پخشکننده میتواند بهطور مستقل آهنگساز را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| شماره آهنگ | عدد صحیح | شماره اختیاری آهنگ در آلبوم |
| شماره دیسک | عدد صحیح | شماره اختیاری جلد (مثلاً دیسک) آلبوم |
| تصاویر | تصویر [] | آرایهای اختیاری از آدرسهای اینترنتی (URL) مربوط به تصویر مرتبط با محتوا. مقدار اولیه فیلد میتواند توسط فرستنده در پیام بارگذاری ارائه شود. باید اندازههای توصیهشده ارائه شود. |
| تاریخ انتشار | رشته (ایزو ۸۶۰۱) | تاریخ و زمان انتشار این محتوا به صورت اختیاری در استاندارد ISO 8601. بازیکن میتواند به طور مستقل تاریخ انتشار را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
عکس/رسانه/فراداده
یک مصنوع رسانه عکاسی را توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| نوع فراداده | عدد صحیح | ۴ (تنها مقدار) |
| عنوان | رشته | عنوان اختیاری عکس. بازیکن میتواند به طور مستقل عنوان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| هنرمند | رشته | نام عکاس اختیاری است . بازیکن میتواند بهطور مستقل هنرمند را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| مکان | رشته | مکان شفاهی اختیاری که عکس در آن گرفته شده است؛ برای مثال، "مادرید، اسپانیا." بازیکن میتواند بهطور مستقل مکان را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| عرض جغرافیایی | دو برابر | مقدار عرض جغرافیایی اختیاری برای مکانی که عکس در آن گرفته شده است. بازیکن میتواند به طور مستقل عرض جغرافیایی را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| طول جغرافیایی | دو برابر | مقدار طول جغرافیایی اختیاری برای مکانی که عکس در آن گرفته شده است. بازیکن میتواند به طور مستقل طول جغرافیایی را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| عرض | عدد صحیح | عرض اختیاری بر حسب پیکسل عکس. بازیکن میتواند به طور مستقل عرض را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| ارتفاع | عدد صحیح | ارتفاع اختیاری بر حسب پیکسل عکس. بازیکن میتواند به طور مستقل ارتفاع را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
| تاریخ و زمان ایجاد | رشته (ایزو ۸۶۰۱) | تاریخ و زمان اختیاری ISO 8601 که این عکس گرفته شده است. بازیکن میتواند به طور مستقل creationDateTime را با استفاده از content_id بازیابی کند یا میتواند توسط فرستنده در پیام بارگذاری داده شود. |
وضعیت رسانه
وضعیت فعلی مصنوع رسانهای را با توجه به جلسه توصیف میکند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسه منحصر به فرد برای پخش این جلسه خاص. این شناسه توسط گیرنده در زمان بارگذاری تنظیم میشود و میتواند برای شناسایی یک نمونه خاص از پخش استفاده شود. به عنوان مثال، دو پخش آهنگ "Wish you were here" در یک جلسه، هر کدام یک mediaSessionId منحصر به فرد دارند. |
| رسانه | اطلاعات رسانهای | اختیاری (برای پیامهای وضعیت) شرح کامل محتوایی که پخش میشود. فقط در صورتی در پیامهای وضعیت برگردانده میشود که اطلاعات رسانه تغییر کرده باشد. |
| نرخ پخش | شناور | نشان میدهد که آیا زمان رسانه در حال پیشرفت است و با چه سرعتی. این مستقل از وضعیت بازیکن است زیرا زمان رسانه میتواند در هر وضعیتی متوقف شود. ۱.۰ زمان معمولی و ۰.۵ حرکت آهسته است. |
| بازیکن ایالت | شمارشی (رشته) | وضعیت بازیکن را به صورت یکی از موارد زیر توصیف میکند:
|
| دلیل بیکاری | شمارشی (رشته) | اختیاری اگر playerState در حالت IDLE باشد و دلیل IDLE شدن آن مشخص باشد، این ویژگی ارائه میشود. اگر بازیکن به دلیل شروع بازی IDLE شده باشد، این ویژگی ارائه نخواهد شد؛ اگر بازیکن در هر حالت دیگری باشد، این ویژگی نباید ارائه شود. مقادیر زیر اعمال میشوند:
|
| زمان فعلی | دو برابر | موقعیت فعلی پخشکنندهی رسانه از ابتدای محتوا، به ثانیه. اگر این یک محتوای پخش زنده باشد، این فیلد نشان دهندهی زمان بر حسب ثانیه از ابتدای رویداد است که باید برای پخشکننده مشخص باشد. |
| دستورات پشتیبانیشدهی مدیا | پرچمها | پرچمهایی که دستورات رسانهای پشتیبانی شده توسط پخشکننده رسانه را توصیف میکنند:
ترکیبها به صورت جمعبندی توصیف میشوند؛ برای مثال، Pause+Seek+StreamVolume+Mute == 15. |
| حجم | حجم | حجم جریان |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی گیرنده تعریف میشود |
دستورات از فرستنده به گیرنده
این دستورات پخشکنندهی رسانه را کنترل میکنند. تمام اشیاء customData در پیامهای زیر باید اختیاری باشند (یعنی اگر دادهای منتقل نشود، گیرنده باید به درستی تنزل یابد). این امر به برنامههای کنترل از راه دور عمومی اجازه میدهد تا به درستی کار کنند.
بار
محتوای جدید را در پخشکننده رسانه بارگذاری میکند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست و پاسخ |
| نوع | رشته | بارگذاری (فقط مقدار) |
| رسانه | اطلاعات رسانهای | فراداده (شامل contentId) رسانهای که قرار است بارگذاری شود |
| پخش خودکار | بولی | اختیاری (پیشفرض true است) اگر پارامتر autoplay مشخص شود، پخشکنندهی رسانه هنگام بارگذاری محتوا شروع به پخش آن میکند. حتی اگر autoplay مشخص نشده باشد، پیادهسازی پخشکنندهی رسانه ممکن است انتخاب کند که بلافاصله پخش را شروع کند. اگر پخش شروع شود، وضعیت پخشکننده در پاسخ باید روی BUFFERING تنظیم شود، در غیر این صورت باید روی PAUSED تنظیم شود. |
| زمان فعلی | دو برابر | ثانیههای اختیاری از شروع محتوا. اگر محتوا محتوای زنده باشد و موقعیت مشخص نشده باشد، پخش زنده از موقعیت زنده شروع میشود. |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| هیچکدام | تغییر وضعیت گیرنده | پیام تغییر وضعیت رسانه | وضعیت بازیکن نامعتبر است بارگذاری ناموفق بود لغو بارگیری |
مکث
پخش محتوای فعلی را متوقف میکند. اعلان رویداد STATUS را به همه برنامههای فرستنده ارسال میکند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسه جلسه رسانهای که قرار است متوقف شود |
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست/پاسخ |
| نوع | رشته | مکث (فقط مقدار) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| هیچکدام | تغییر وضعیت گیرنده | پیام تغییر وضعیت رسانه | وضعیت بازیکن نامعتبر است |
جستجو
موقعیت فعلی را در جریان تنظیم میکند. اعلان رویداد STATUS را به همه برنامههای فرستنده ارسال میکند. اگر موقعیت ارائه شده خارج از محدوده موقعیتهای معتبر برای محتوای فعلی باشد، پخشکننده باید یک موقعیت معتبر را تا حد امکان نزدیک به موقعیت درخواستی انتخاب کند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسهی جلسهی رسانهای که موقعیت پخش جریان در آن تنظیم شده است |
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست و پاسخ |
| نوع | رشته | جستجو (فقط مقدار) |
| رزومه ایالت | شمارشی (رشته) | اختیاری اگر این تنظیم نشده باشد، وضعیت پخش تغییر نخواهد کرد؛ مقادیر زیر اعمال میشوند:
|
| زمان فعلی | دو برابر | ثانیههای اختیاری از شروع محتوا. اگر محتوا محتوای زنده باشد و موقعیت مشخص نشده باشد، پخش زنده از موقعیت زنده شروع میشود. |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| هیچکدام | تغییر وضعیت گیرنده | پیام تغییر وضعیت رسانه | وضعیت بازیکن نامعتبر است |
توقف
پخش محتوای فعلی را متوقف میکند. اعلان رویداد STATUS را به همه برنامههای فرستنده ارسال میکند. پس از این دستور، محتوا دیگر بارگیری نمیشود و mediaSessionId نامعتبر میشود.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسهی جلسهی رسانهای برای توقف محتوا |
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست و پاسخ |
| نوع | رشته | توقف (فقط مقدار) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| هیچکدام | تغییر وضعیت گیرنده | پیام تغییر وضعیت رسانه | وضعیت بازیکن نامعتبر است |
بازی
پخش محتوایی که با فراخوانی load بارگذاری شده بود را آغاز میکند، پخش از موقعیت زمانی فعلی ادامه مییابد.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسهی جلسهی رسانهای برای محتوایی که قرار است پخش شود |
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست و پاسخ |
| نوع | رشته | بازی (فقط ارزش) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| هیچکدام | تغییر وضعیت گیرنده | پیام تغییر وضعیت رسانه | وضعیت بازیکن نامعتبر است |
دریافت وضعیت
وضعیت رسانه را بازیابی میکند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسه جلسه رسانهای اختیاری رسانهای که وضعیت رسانه باید برای آن برگردانده شود. اگر هیچ کدام ارائه نشود، وضعیت برای همه شناسههای جلسه رسانه ارائه خواهد شد. |
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست و پاسخ |
| نوع | رشته | GET_STATUS (فقط مقدار) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| پیام وضعیت رسانه به فرستندهای که آن را درخواست کرده است | هیچکدام | هیچکدام | هیچکدام |
تنظیم حجم
میزان صدای جریان رسانه را تنظیم میکند. برای جلوههای محو شدن/محو شدن در جریان رسانه استفاده میشود. (توجه: صدای گیرنده با استفاده از setVolume فرستنده وب تغییر میکند.) صدای جریان نباید همراه با نوار لغزنده صدا یا دکمههای صدا برای کنترل صدای دستگاه استفاده شود. تغییر در صدای جریان هیچ رابط کاربری را در گیرنده فعال نمیکند.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه جلسه رسانه | عدد صحیح | شناسه جلسه رسانهای رسانهای که حجم پخش برای آن تغییر داده شده است |
| شناسه درخواست | عدد صحیح | شناسه درخواست، برای مرتبط کردن درخواست و پاسخ |
| نوع | رشته | حجم (فقط مقدار) |
| حجم | حجم | حجم جریان |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی فرستنده تعریف میشود |
| پاسخ | محرکها | پخشها | خطاها |
|---|---|---|---|
| هیچکدام | تغییر وضعیت گیرنده | پیام تغییر وضعیت رسانه | وضعیت بازیکن نامعتبر است |
پیامها از گیرنده به فرستنده
گیرنده دو نوع پیام ارسال میکند:
- خطاها: پیامهای Unicast زمانی ارسال میشوند که پاسخ به درخواست فرستنده با خطا مواجه شود.
- وضعیت: پیامهای پخش.
- پیامد یک اقدام آغاز شده توسط فرستنده. حاوی requestId درخواستی است که باعث تغییر شده است.
- خودبهخودی: برای مثال، به دلیل تغییری که توسط برنامه گیرنده ایجاد شده است. RequestId برابر با 0 خواهد بود.
خطا: وضعیت بازیکن نامعتبر است
زمانی ارسال میشود که درخواست فرستنده به دلیل عدم وجود بازیکن در وضعیت معتبر، قابل انجام نباشد. برای مثال، اگر برنامه هنوز عنصر رسانهای ایجاد نکرده باشد.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه درخواست | عدد صحیح | شناسه درخواستی که این خطا را ایجاد کرده است |
| نوع | رشته | INVALID_PLAYER_STATE (فقط مقدار) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی گیرنده تعریف میشود |
خطا: بارگذاری ناموفق بود
زمانی ارسال میشود که درخواست بارگذاری ناموفق باشد. وضعیت پخشکننده غیرفعال خواهد بود.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه درخواست | عدد صحیح | شناسه درخواستی که این خطا را ایجاد کرده است |
| نوع | رشته | LOAD_FAILED (فقط مقدار) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی گیرنده تعریف میشود |
خطا: بارگیری لغو شد
زمانی ارسال شد که درخواست بارگذاری لغو شد (درخواست بارگذاری دوم دریافت شد).
| نام | نوع | توضیحات |
|---|---|---|
| شناسه درخواست | عدد صحیح | شناسه درخواستی که این خطا را ایجاد کرده است |
| نوع | رشته | LOAD_CANCELLED (فقط مقدار) |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی گیرنده تعریف میشود |
خطا: درخواست نامعتبر
زمانی ارسال میشود که درخواست نامعتبر است (مثلاً نوع درخواست ناشناخته).
| نام | نوع | توضیحات |
|---|---|---|
| شناسه درخواست | عدد صحیح | شناسه درخواستی که این خطا را ایجاد کرده است |
| نوع | رشته | INVALID_REQUEST (فقط مقدار) |
| دلیل | انوم (رشته) | ارزشها:
|
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی گیرنده تعریف میشود |
وضعیت رسانه
پس از تغییر وضعیت یا پس از درخواست وضعیت رسانه ارسال میشود. فقط اشیاء MediaStatus که تغییر کردهاند یا درخواست شدهاند، ارسال خواهند شد.
| نام | نوع | توضیحات |
|---|---|---|
| شناسه درخواست | عدد صحیح | شناسهای که برای مرتبط کردن این پاسخ وضعیت با درخواستی که آن را ایجاد کرده است استفاده میشود یا اگر پیام وضعیت خودبهخودی باشد (توسط درخواست فرستنده فعال نشده باشد)، 0 است. برنامههای فرستنده با انتخاب یک عدد تصادفی و افزایش مداوم آن، شناسههای درخواست منحصر به فردی ایجاد میکنند (از 0 استفاده نمیکنند). |
| نوع | رشته | وضعیت رسانه (فقط مقدار) |
| وضعیت | وضعیت رسانه [] | آرایهای از اشیاء وضعیت رسانه. توجه: عنصر رسانه در MediaStatus فقط در صورتی برگردانده میشود که تغییر کرده باشد. |
| دادههای سفارشی | شیء | حباب دادهی اختیاری مختص برنامه که توسط برنامهی گیرنده تعریف میشود |