Android'de Chrome için Google Cast

Telefonunuzdan bir web uygulaması kullanarak konferans projektöründe slayt gösterisi sunabileceğinizi veya mobil web uygulamasını bir kontrol cihazı olarak kullanarak resim paylaşabileceğinizi, oyun oynayabileceğinizi ya da TV ekranında video izleyebileceğinizi hayal edin.

Android'deki Chrome'un en son sürümü, sitelerin Cast Web SDK'sını kullanarak Google Cast cihazlarına içerik sunmasına olanak tanır. Bu sayede artık Android veya iOS'te Chrome ile Web SDK'sını kullanarak (veya masaüstünde uzantı ile) Cast gönderen uygulamaları oluşturmanın yanı sıra Android ve iOS için yerel Cast SDK'sını kullanan uygulamalar da oluşturabilirsiniz. (Önceden, Google Cast gönderen uygulamalarının Google Cast Chrome uzantısı olması gerekiyordu. Bu nedenle Android'de Cast cihazlarla yalnızca yerel uygulamalardan etkileşim kurulabiliyordu.)

Aşağıda, Web SDK'sını kullanarak Cast gönderen uygulaması oluşturmaya dair kısa bir giriş verilmiştir. Daha kapsamlı bilgi için Chrome Gönderen Uygulaması Geliştirme Kılavuzu'nu inceleyin.

Cast'i kullanan tüm sayfalar Cast kitaplığını içermelidir:

<script
  type="text/javascript"
  src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"
></script>

API kullanılabilirliğini işlemek ve Cast oturumunu başlatmak için bir geri çağırma işlevi ekleyin (işleyiciyi API yüklenmeden önce eklediğinizden emin olun):

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);
}

Kendi kendinize oluşturduğunuz kayıtlı bir Özel Alıcı uygulaması yerine varsayılan Stilize Medya Alıcısı uygulamasını kullanıyorsanız aşağıdaki gibi bir SessionRequest oluşturabilirsiniz:

var sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.
  DEFAULT_MEDIA_RECEIVER_APP_ID);

Yukarıdaki receiverListener geri çağırma işlevi, bir veya daha fazla cihaz kullanılabilir hale geldiğinde yürütülür:

function receiverListener(e) {
  if (e === chrome.cast.ReceiverAvailability.AVAILABLE) {
    // update UI
  }
}

Kullanıcınız Yayınlama simgesini tıkladığında Kullanıcı Deneyimi Yönergeleri uyarınca bir Yayınlama oturumu başlatın:

chrome.cast.requestSession(onRequestSessionSuccess,
    onRequestSessionError);

function onRequestSessionSuccess(e) {
  session = e;
}

Kullanıcıya bir cihaz seçici gösterilir:

Yayın cihazı seçme iletişim kutusu.

Sayfa zaten bağlıyken ve requestSession() çağrısı yapıldığında rota ayrıntıları iletişim kutusu gösterilir:

Rota ayrıntılarını yayınla iletişim kutusu.

Bir Cast oturumu oluşturduktan sonra, seçili Cast cihazı için medya yükleyebilir ve medya oynatma etkinlikleri için bir dinleyici ekleyebilirsiniz:

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);
}

Buradaki currentMedia değişkeni, oynatmayı kontrol etmek için kullanılabilen bir chrome.cast.media.Media nesnesidir:

function playMedia() {
  currentMedia.play(null, success, error);
}


    // ...

Medya oynatıldığında oynatma/duraklatma bildirimi gösterilir:

Chromecast oynatma/duraklatma bildirimi.

Hiçbir medya oynatılmıyorsa bildirimde yalnızca yayını durdurmak için bir durdurma düğmesi bulunur:

Yayın durdurma bildirimi.

chrome.cast.ApiConfig() için sessionListener geri çağırma işlevi (yukarıya bakın), uygulamanızın mevcut bir Cast oturumuna katılmasını veya oturumu yönetmesini sağlar:

function sessionListener(e) {
  session = e;
  if (session.media.length !== 0) {
    onMediaDiscovered('onRequestSessionSuccess', session.media[0]);
  }
}

Android'deki Chrome, web sitenizden medya yayınlamanıza izin veriyorsa ancak varsayılan yayınlama kullanıcı arayüzünün kendi kullanıcı arayüzünüzü etkilememesi için bu özelliği devre dışı bırakmak istiyorsanız Chrome 49 ve sonraki sürümlerde bulunan disableRemotePlayback özelliğini kullanın:

<video disableRemotePlayback src="..."></video>

Alternatif gönderen ve alıcı cihazlar

Cast Web SDK kılavuzunda örnek uygulamaların bağlantıları ve oturum yönetimi, altyazılar ve durum güncellemeleri gibi Cast özellikleri hakkında bilgiler yer alır.

Şu anda yalnızca Cast Web SDK'sını kullanarak bir Cast Alıcı Uygulaması'nda içerik sunabilirsiniz. Ancak Presentation API'nin Cast SDK'sı olmadan (masaüstü ve Android'de) kullanılabilmesi için Google'a kayıt olmadan herhangi bir web sayfasını Cast cihazına sunma özelliği üzerinde çalışılıyor. Yalnızca Chrome'a özel Cast SDK'sının aksine, standart API'yi kullanmak sayfanın API'yi destekleyen diğer kullanıcı aracılarıyla ve cihazlarla çalışmasını sağlar.

Presentation API, Remote Playback API ile birlikte, web sayfalarının web içeriğini görüntülemek için ikinci ekranları kullanmasını sağlayan Second Screen Working Group çalışmasının bir parçasıdır.

Bu API'ler, "kontrol" cihazı ve "ekran" cihazı içeren zengin çeşitlilikteki uygulamaları etkinleştirmek için internete bağlanan cihazlardan (kullanıcı aracısı çalıştıran bağlı ekranlar dahil) yararlanır.

Uygulamayla ilgili ilerleme durumu hakkında sizi bilgilendireceğiz.

Bu süreçte hata bulursanız veya özellik isteği göndermek isterseniz lütfen crbug.com/new adresini ziyaret edin.

Daha fazla bilgi