تخيل أنّه يمكنك استخدام تطبيق ويب من هاتفك لتقديم مجموعة شرائح إلى جهاز عرض في مؤتمر، أو مشاركة الصور أو تشغيل الألعاب أو مشاهدة الفيديوهات على شاشة تلفزيون، وذلك باستخدام تطبيق الويب المتوافق مع الأجهزة الجوّالة كوحدة تحكّم.
يتيح أحدث إصدار من Chrome على Android للمواقع الإلكترونية عرض المحتوى على أجهزة Google Cast باستخدام حزمة تطوير البرامج (SDK) لتطبيقات الويب التي تستخدم Cast. وهذا يعني أنّه يمكنك الآن إنشاء تطبيقات مُرسِلة لبث الوسائط باستخدام حزمة تطوير البرامج Web SDK مع Chrome على Android أو iOS (أو على أجهزة الكمبيوتر المكتبي باستخدام الإضافة)، بالإضافة إلى إنشاء تطبيقات تستخدِم حزمة تطوير البرامج Cast SDK الأصلية لنظامَي التشغيل Android وiOS. (في السابق، كان تطبيق إرسال المحتوى عبر Google Cast يتطلّب إضافة Google Cast في Chrome، لذلك كان من الممكن التفاعل مع أجهزة Cast على Android من خلال التطبيقات الأصلية فقط).
في ما يلي مقدّمة موجزة لإنشاء تطبيق مُرسِل بث باستخدام حزمة Web SDK. تتوفّر معلومات أكثر شمولاً في دليل تطوير تطبيقات Chrome المرسِلة.
يجب أن تتضمّن جميع الصفحات التي تستخدم Cast مكتبة Cast:
<script
type="text/javascript"
src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"
></script>
أضِف دالة استدعاء للتعامل مع مدى توفّر واجهة برمجة التطبيقات وإعداد جلسة البث (احرص على إضافة معالِج الجلسة قبل تحميل واجهة برمجة التطبيقات):
window['__onGCastApiAvailable'] = function (isLoaded, error) {
if (isLoaded) {
initializeCastApi();
} else {
console.log(error);
}
};
function initializeCastApi() {
var sessionRequest = new chrome.cast.SessionRequest(applicationID);
var apiConfig = new chrome.cast.ApiConfig(
sessionRequest,
sessionListener,
receiverListener
);
chrome.cast.initialize(apiConfig, onInitSuccess, onError);
}
إذا كنت تستخدم تطبيق مستلِم الوسائط المخصّصة التلقائي وليس تطبيق مستلِم مخصّص مسجَّلاً من إنشاءك، يمكنك إنشاء SessionRequest
على النحو التالي:
var sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.
DEFAULT_MEDIA_RECEIVER_APP_ID);
يتم تنفيذ دالة الاستدعاء receiverListener
أعلاه عندما يصبح جهاز واحد أو أكثر متاحًا:
function receiverListener(e) {
if (e === chrome.cast.ReceiverAvailability.AVAILABLE) {
// update UI
}
}
ابدأ جلسة بث عندما ينقر المستخدم على رمز البث، وفقًا لما تنص عليه إرشادات تجربة المستخدم:
chrome.cast.requestSession(onRequestSessionSuccess,
onRequestSessionError);
function onRequestSessionSuccess(e) {
session = e;
}
سيظهر للمستخدم أداة اختيار الأجهزة:
يتم عرض مربّع الحوار تفاصيل المسار عندما تكون الصفحة متصلة بالفعل وتستدعي requestSession()
:
بعد إنشاء جلسة بث، يمكنك تحميل الوسائط لجهاز البث المحدّد وإضافة مستمع لأحداث تشغيل الوسائط:
var mediaInfo = new chrome.cast.media.MediaInfo(mediaURL);
var request = new chrome.cast.media.LoadRequest(mediaInfo);
session.loadMedia(
request,
onMediaDiscovered.bind(this, 'loadMedia'),
onMediaError
);
function onMediaDiscovered(how, media) {
currentMedia = media;
media.addUpdateListener(onMediaStatusUpdate);
}
المتغيّر currentMedia
هنا هو عنصر chrome.cast.media.Media
، ويمكن استخدامه للتحكّم في التشغيل:
function playMedia() {
currentMedia.play(null, success, error);
}
// ...
يظهر إشعار التشغيل/الإيقاف المؤقت عند تشغيل الوسائط:
إذا لم تكن هناك وسائط يتم تشغيلها، سيتضمّن الإشعار زر إيقاف فقط لإيقاف البث:
تسمح دالة الاستدعاء sessionListener
لـ chrome.cast.ApiConfig()
(انظر أعلاه) لتطبيقك بالانضمام إلى جلسة Cast حالية أو إدارتها:
function sessionListener(e) {
session = e;
if (session.media.length !== 0) {
onMediaDiscovered('onRequestSessionSuccess', session.media[0]);
}
}
إذا كان متصفّح Chrome على Android يسمح ببث الوسائط من موقعك الإلكتروني ولكنك تريد إيقاف هذه الميزة كي لا تتداخل واجهة المستخدم التلقائية للبث مع واجهة المستخدم الخاصة بك، استخدِم السمة disableRemotePlayback المتوفّرة في الإصدار 49 من Chrome والإصدارات الأحدث:
<video disableRemotePlayback src="..."></video>
يتضمّن دليل حزمة تطوير البرامج (SDK) لتطبيقات الويب في Cast روابط لعيّنات من التطبيقات ومعلومات عن ميزات Cast، مثل إدارة الجلسات ومسارات النص (لترجمة الأفلام والشرح) وآخر المعلومات عن الحالة.
في الوقت الحالي، لا يمكنك عرض المحتوى إلا على تطبيق مستلِم من أجهزة البث باستخدام حزمة تطوير البرامج (SDK) لتطبيقات الويب التي تعمل مع أجهزة البث، ولكن يتم حاليًا العمل على تفعيل استخدام Presentation API بدون حزمة تطوير البرامج (SDK) لأجهزة البث (على أجهزة الكمبيوتر المكتبي وأجهزة Android) لعرض أي صفحة ويب على جهاز بث بدون التسجيل في Google. على عكس حزمة تطوير البرامج (SDK) لبث الوسائط في Chrome فقط، سيسمح استخدام واجهة برمجة التطبيقات العادية للصفحة بالعمل مع وكلاء مستخدمين وأجهزة أخرى متوافقة مع واجهة برمجة التطبيقات.
تشكّل Presentation API، إلى جانب Remote Playback API، جزءًا من جهود مجموعة العمل المعنيّة بالشاشة الثانية لإتاحة استخدام صفحات الويب للشاشات الثانية لعرض محتوى الويب.
تستفيد واجهات برمجة التطبيقات هذه من مجموعة الأجهزة التي يتم ربطها بالإنترنت بما في ذلك الشاشات المتصلة التي تعمل بوكيل مستخدم، وذلك لتفعيل مجموعة متنوعة من التطبيقات التي تتضمّن جهاز "تحكم" وجهاز "عرض".
سنُطلعك على آخر المعلومات المتعلّقة بمستوى تقدّم عملية التنفيذ.
في الوقت الحالي، يُرجى إعلامنا إذا واجهت أي أخطاء أو أردت طلب ميزات: crbug.com/new.