Ses Cihazları

Ses cihazları için Google Cast yalnızca ses oynatmayı destekler. Bu kılavuzda, Cast uygulamalarının yalnızca sesli cihazlar için nasıl optimize edileceği ve bellek, CPU ve ağ bant genişliği kullanımına yönelik azaltılmış taleplerden nasıl yararlanılacağı açıklanmaktadır.

Ses için Google Cast'i destekleyen bir uygulama aşağıdakileri dikkate almalıdır:

  • Ses cihazları için Google Cast, video veya grafik göstermez. Bununla birlikte, birçok ses cihazında oynatma durumu (oynatma veya duraklatma) ve ilerleme gibi meta verileri gösteren bir ekran bulunur. Uygulamanız bu tür kritik kullanıcı bilgilerini yalnızca alıcıda göstermemelidir. Kritik bilgiler ve kullanıcı arayüzünün büyük kısmı göndericide gösterilmelidir.
  • Web alıcı uygulamalarının düzgün şekilde çalışabilmesi için ses cihazları için Google Cast'in, görüntülenmeseler bile grafikleri oluşturmaya devam etmesi gerekir. Cihazlar donanım hızlandırmalı grafik işlemlerini desteklemeyebileceğinden, alıcı uygulamaları renk gradyanları, döndürme, alfa harmanlama ve ilerleme çubukları gibi büyük nesneleri saniyede bir defadan fazla yeniden çizme gibi yoğun grafik işlemleri kullanmaktan kaçınmalıdır.
  • Ses cihazları için Google Cast yalnızca Dijital Hak Yönetimi (DRM) korumalı içerikler için Widevine'i destekler.
  • Ses için Google Cast özellikli çoğu cihazda, gönderen uygulama yalnızca TV'ye giren ses kaynağı girişinin ses düzeyini değil, cihazın (ör. hoparlör) tüm ses düzeyi aralığını kontrol eder.
  • Uygulamanın, oynatmayı gönderen cihazla (ör. telefon) kontrol etmenin yanı sıra cihazın kendi kontrol cihazlarıyla (ör. uzaktan kumanda, cihaz üzerindeki düğmeler veya harici bir uzaktan kumanda uygulaması) kontrol etmeyi de sağlaması gerekebilir.
  • Ses için Google Cast cihazı, cihazın kullanıcı arayüzüne bağlı olarak küçük bir LCD ekran, HDMI çıkışı (ses çubuğu veya ses/video alıcılar için) ya da harici bir uzaktan kumanda uygulamasıyla içerik meta verilerini görüntülemeyi destekleyebilir.

Geliştirme

Ses için Google Cast'i destekleyen bir Cast uygulaması geliştirmenin ilk adımı, ses ve video için bir Cast uygulaması geliştirmek ve bu uygulamanın Chromecast'te çalıştığından emin olmaktır. Bu dokümanda, böyle bir uygulama geliştirdiğiniz ve test ettiğiniz varsayılmaktadır.

Bir uygulama hem sesli/görüntülü hem de yalnızca sesli cihazları destekleyebilir. Hangi cihaza içerik yayınladığını bilmesi ve belirli bir senaryoda en iyi kullanıcı deneyimini sağlamak için önlemler alması gerekir.

Örneğin, çift video ve ses uygulamaları (yerel/NAS dosya oynatma uygulamaları gibi), ses dosyalarının oynatılmasını desteklemek için yalnızca sesli cihazlara yayınlamayı etkinleştirmelidir ancak kullanıcının yalnızca sesli cihaza video dosyası göndermesine izin vermemelidir. Uygulama, cihaza uygun içeriği belirlemek için aşağıda açıklanan gönderenler için cihaz özellikleri API'lerini kullanabilir.

Uygulamanızın, ses için Google Cast'i desteklemesi gerekir:

  • Yalnızca ses desteği: Müzik ve ses dosyaları, radyo vb. akışları. Web alıcı uygulamasına aktarılan medya, video akışı olmamalıdır. Ayrıca, uygulama başlatma süresini ve bellek kullanımını iyileştirmek için grafik ve resimleri akış şeklinde yayınlamaktan kaçının. Aşağıdaki Bellek kullanımı yönergeleri bölümüne bakın.

  • Ses için Cast cihazında ve normal Chromecast'te beklendiği gibi çalışır.

Cihaz özellikleri

Uygulamanız, cihazın kendisinden veya gönderen ya da alıcı API'leri aracılığıyla kullanılabilen cihaz özellikleri API'leri sayesinde yalnızca sesli bir cihazda çalışıp çalışmadığını anlayabilir.

Cihaz HTTP üst bilgisi

Uygulama başlatılırken Cast cihazı tarafından sağlanan CAST-DEVICE-CAPABILITIES HTTP başlığı, cihaz özelliklerini açıklar. Cihaz, bu başlığı içeren bir istek göndererek Web Alıcısı uygulamasını barındıran sunucuya ulaşır. Yalnızca sesli cihazın başlığı, cihaz özelliklerini CAST-DEVICE-CAPABILITIES: {"display_supported":false} ile tanımlar.

Sunucunuz cihazdan isteği aldığında, isteği ses cihazları için optimize edilmiş Web Alıcısı uygulamasına yönlendirmek üzere bu başlıkta yer alan bilgileri kullanabilirsiniz.

Web Receiver API

Web alıcı uygulaması yüklendiğinde CastReceiverManager.getDeviceCapabilities() işlevini çağırarak aynı cihaz özellikleri nesnesini alabilirsiniz.

Daha fazla bilgi için Cihaz özellikleri bölümüne bakın.

Gönderen API'leri

Cast gönderen API'lerinin her biri cihaz özellikleri bilgilerini de içerir. Bu bilgiler, gönderen uygulamanızın alıcıya hangi tür medyayı göndereceğini belirlemesine olanak tanır. Uygulamanız hem ses hem de videoyu destekliyorsa yalnızca sesli cihazlara video içeriği göndermeyebilir. Ayrıca uygulamanız, Tasarım Kontrol Listesi'nde açıklandığı gibi cihaza en uygun yöntemi kullanarak ses düzeyini kontrol edebilir. Gönderenler için aşağıdaki cihaz özellikleri API'lerine bakın:

Bellek kullanımıyla ilgili kurallar

Ses cihazlarında çalışan web alıcı uygulamaları, bellek kullanımını aşağıdaki şekilde yönetmelidir:

  • Bellek kullanımını azaltmak ve oynatmanın başlama süresini kısaltmak için resim veya grafik öğeleri indirmekten veya kullanmaktan kaçının.
  • Medya Kaynağı Uzantılarını (MSE) kullanırken uygulamalar, akış arabelleğini 2 MB ile sınırlamalıdır. Medya Oynatıcı Kitaplığı (MPL) kullanılıyorsa uygulamanın akış arabelleği boyutu zaten MPL tarafından tanımlanmıştır.
  • HTMLMediaElement kullanılırken uygulamanın yayın arabelleği boyutu, Chrome tarafından yayın hızına göre tanımlanır. Ses bit hızını saniye başına 2 megabit ile sınırlayın. Bu sınır, Desteklenen Medya bölümünde açıklanan tüm codec'leri (48 KHz/16 bit'e kadar) destekler.

Ses düzeyi kontrolü

Ses için Google Cast özellikli çoğu cihazda, gönderen uygulaması yalnızca ses kaynağı giriş ses seviyesini değil, cihazın tüm ses aralığını kontrol eder. Bu durum Chromecast cihazlarda geçerli değildir. Bu nedenle, yalnızca ses içeren uygulamalarda ses seviyesi artışları daha küçük olmalıdır. Uygulamanızda ses seviyesi kontrolü sağlamayla ilgili yönergeler için aşağıdaki dokümanlara bakın:

Cihaz denetimleri

Ses cihazları için Google Cast'in kendi oynatma kontrolleri (düğmeler, uzaktan kumandalar gibi) olabilir. Bu mesajlar, alıcı uygulamasında oynatma işlemini kontrol etmek için urn:x-cast:com.google.cast.media ad alanı için tanımlanan medya oynatma mesajlarını (Medya Oynatma Mesajları bölümünde açıklandığı gibi) kullanır. Alıcı uygulamanız, cihazın oynatma kontrollerini desteklemek için bu medya oynatma mesajlarını desteklemelidir.

Ayrıca, gönderen uygulamanız Alıcıdan gönderene mesajlar özelliğini desteklemelidir. Böylece, kullanıcı cihaz kontrolleriyle medya durumunu değiştirirse gönderen uygulamanız alıcıdan bir durum mesajı alabilir ve kullanıcı arayüzünü buna göre güncelleyebilir.

Cihaz ekranı

Ses için Google Cast cihazında LCD ekran veya medya meta verilerini gösteren cihaza özel bir kontrol uygulaması bulunabilir. Alıcı uygulamanız, meta verilerin ekranda düzgün şekilde gösterilmesi için tüm ses parçaları için bu meta verileri sağlamalıdır ve meta verilerin şu anda oynatılan içerikle senkronize olduğundan emin olmalıdır. Uygulama özel meta veriler kullanıyorsa aşağıdaki her platform için açıklandığı şekilde standart ses meta verilerini (parça adı, sanatçı adı, albüm adı vb.) de sağlamalıdır.

Alıcı, medyayı yüklerken meta verileri gönderenden alır. Meta verilerin ses cihazı için Google Cast'te gösterilmesi amacıyla, gönderen uygulamanızda medyayı alıcıya yükleme komutuyla birlikte aşağıda açıklanan alanları belirtmeniz gerekir. Aşağıdaki API'leri kullanın:

Cast uygulaması alıcıda veya bulutta bir medya sırasını yönetiyorsa Web Alıcısı, tüm gönderenlerin senkronize edilmesi için urn:x-cast:com.google.cast.media ad alanını kullanarak tüm medya durumu güncellemelerini yayınlamalıdır.

Kayıt

Google Cast SDK Geliştirici Konsolu'nu kullanarak ses cihazları için Google Cast cihazınızı test için kaydettirmeniz ve uygulamanızı ses cihazları için Google Cast'i desteklemek üzere kaydettirmeniz gerekir.

  • Cihazları kaydetme hakkında daha fazla bilgi için Cihazlar bölümüne bakın.
  • Uygulamanızın ses cihazları için Google Cast'i keşfetmesine izin vermek üzere uygulamanızı kaydettirirken Yalnızca sesli cihazlara yayınlamayı destekler onay kutusunu işaretlemeniz gerekir. Uygulamanızı kaydetme başlıklı makaleyi inceleyin.

Test için kullanılanlar gibi yayınlanmamış uygulamalarda, uygulamanın yalnızca ses özellikli cihazları keşfedebilmesi için yalnızca ses özellikli cihazları destekleme seçeneğini de belirlemeniz gerekir.

Google Cast for Audio 2.0

Ses için Google Cast (GC4A) 2.0, içeriğinizi yayınlayabilen cihaz ekosistemini genişletmek amacıyla düşük bellek kapasitesine sahip cihazları hedeflemek için tasarlanmış yeni nesil Cast ses platformudur. GC4A 2.0 ses platformlarını hedeflediğinden web API'si, ekransız cihazlarla uyumlu olacak şekilde azaltılmıştır. GC4A 2.0, yayınlamayı destekleyen yeni ve mevcut hoparlörlere kullanıma sunulmaktadır.

Test ve Hata Ayıklama

Desteklenen tüm hoparlörler GC4A 2.0'a geçeceğinden, ses uygulaması geliştiricilerin uygulamalarını GC4A 2.0'da test etmeleri önemlidir. GC4A 2.0 için Cast uygulamanızı burada listelenen GC4A 2.0 cihazlarından herhangi birinde test edebilirsiniz.

GC4A 2.0, Chrome Uzaktan Hata Ayıklama Aracı'nı desteklemez. Uygulamanızda hata ayıklama yapmak istiyorsanız Google, Cast Hata Ayıklama Günlüğü'nü kullanmanızı önerir.

Kullanılabilir GC4A 2.0 Cihazlar

GC4A 2.0 cihazlarının kapsamlı olmayan bir listesi aşağıda verilmiştir:

  • Bose: Kablosuz Hoparlör ve Akıllı Ses Çubuğu
  • JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300 ve 500
  • Samsung: Music Frame / Ses çubukları
  • LG: S90TY/SG10TY/SE70Q/S80Q/S90Q ses çubukları
  • 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

GC4A 2.0'da tüm uygulama özelliklerinin test edilmesi önerilir. Tüm medya türlerini (podcast'ler, yayınlar vb.) oynatma, duraklatma, kaydırma, atlama, oynatma listelerini değiştirme, durdurma ve Cast'i yeniden bağlama testlerini eklediğinizden emin olun.

Desteklenen API'ler

GC4A 2.0 aşağıdaki API'leri destekler:

  • HTML
  • JavaScript ECMA 6
  • DOMParser
  • XMLSerializer
  • Belge ve alt sınıflar
  • DocumentFragment
  • HTMLMediaElement ve HTMLAudioElement
  • HTMLVideoElement (yalnızca ses içeriği oynatabilir)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • Özel Öğeler
  • Gölge DOM
  • Komut dosyası modülleri / eş zamansız / ertelenen
  • Getirme / XHR
  • WebSocket
  • MessagePort
  • Çerezler
  • MSE (Medya Kaynağı Uzantılar)
  • EME (Şifrelenmiş Medya Uzantılar)
  • Yerel / Oturum Depolama

GC4A 2.0 aşağıdakileri desteklemez:

  • Dinamik modül içe aktarma (2024'te eklenecek)
  • CSS
  • IFrame
  • TextTracks

İletişim

Test için kurulum konusunda yardıma ihtiyacınız varsa veya Bose hoparlör kullanamıyorsanız lütfen gc4a-support-external@google.com ile iletişime geçin.