Ses cihazları için Google Cast yalnızca ses oynatmayı destekler. Bu kılavuzda, Cast uygulamalarının yalnızca ses kullanan cihazlar için nasıl optimize edileceği ve bellek, CPU ve ağ bant genişliği kullanımına yönelik daha az talepten nasıl yararlanılacağı açıklanmaktadır.
Ses için Google Cast'i destekleyen bir uygulamada aşağıdaki unsurlar dikkate alınmalıdır:
- Ses cihazları için Google Cast video veya grafik göstermez. Bununla birlikte, birçok ses cihazının oynatma durumu (oynatma veya duraklatılma) ve ilerleme durumu gibi meta verileri gösteren bir ekranı vardır. Uygulamanız bu tür kritik kullanıcı bilgilerini yalnızca alıcı üzerinde göstermemelidir. Kritik bilgiler ve kullanıcı arayüzünün büyük kısmı gönderen üzerinde gösterilmelidir.
- Web Alıcısı uygulamalarını düzgün şekilde çalıştırmak için, ses cihazları için Google Cast'in görüntülense bile grafikleri oluşturması gerekir. Cihazlar donanım hızlandırmalı grafik işlemlerini desteklemeyebileceğinden, alıcı uygulamalar renk gradyanları, döndürme, alfa karıştırma ve ilerleme çubukları gibi büyük nesnelerin saniyede bir defadan fazla yeniden çizilmesi gibi yoğun grafik kullanan işlemleri kullanmaktan kaçınmalıdır.
- Ses cihazları için Google Cast yalnızca Widevine for Digital Rights Management (DRM) korumalı içeriği destekler.
- Çoğu Google Cast ses cihazında, gönderen uygulaması bir Chromecast cihazında olduğu gibi yalnızca TV'ye gönderilen ses kaynağı girişinin ses düzeyini değil, cihazın tam ses aralığını da (örneğin, bir hoparlör) kontrol eder.
- Uygulamanın, gönderen cihazla (örneğin, telefon) oynatmayı kontrol etmenin yanı sıra uzaktan kumanda, cihaz düğmeleri veya harici bir uzaktan kumanda uygulaması gibi cihazın kendi kumandalarıyla oynatmayı kontrol etmesi de gerekebilir.
- Ses cihazı için Google Cast, belirli bir kullanıcı arayüzüne bağlı olarak küçük bir LCD ekran, HDMI çıkışı (ses çubukları veya ses video alıcıları için) ya da harici bir uzaktan uygulama ile içerik meta verilerinin gösterilmesini destekleyebilir.
Geliştirme
Ses için Google Cast'i destekleyecek bir Cast uygulaması geliştirmenin ilk adımı, ses videosu için bir Yayın uygulaması geliştirmek ve uygulamanın Chromecast'te çalıştığından emin olmaktır. Bu dokümanda, böyle bir uygulama geliştirip test ettiğiniz varsayılmaktadır.
Bir uygulama hem sesli videoyu hem de yalnızca ses cihazlarını destekleyebilir. İçeriklerin birbirlerine yayınlanıp yayınlanmayacağını bilmesi ve belirtilen senaryoda en iyi kullanıcı deneyimini sağlayacak önlemleri alması gerekir.
Örneğin, ses dosyalarının oynatılmasını desteklemek için çift video ve ses uygulamaları (yerel/NAS dosya oynatma uygulamaları gibi) yalnızca ses özellikli cihazlara yayın yapmayı etkinleştirmelidir ancak uygulama, kullanıcının yalnızca ses kaydı olan cihaza video dosyaları 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.
Google Cast'i ses için desteklemek üzere uygulamanız şunları yapmalıdır:
Yalnızca ses desteği: Müzik ve ses dosyaları, radyo vb. Web Alıcısı 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 resim akışı yapmaktan kaçının. Aşağıdaki Bellek kullanımı yönergeleri bölümüne bakın.
Normal bir Chromecast'in yanı sıra Ses için Cast cihazında beklenen şekilde çalıştırın.
Cihaz özellikleri
Uygulamanız, cihaz yetenekleri API'leri aracılığıyla yalnızca ses sistemi üzerinde çalışıp çalışmadığını veya cihazın göndereninden ya da alıcı API'lerinden mi geldiğini bilebilir.
Cihaz HTTP başlığı
Uygulama başlatılırken yayın cihazı tarafından sağlanan CAST-DEVICE-CAPABILITIES
HTTP üst bilgisi, cihaz özelliklerini açıklar. Cihaz, Web Alıcısı uygulamasını barındıran sunucuya bu başlığı içeren bir istek gönderir. Yalnızca ses özelliğinin yer aldığı cihazın başlığı, cihaz özelliklerini CAST-DEVICE-CAPABILITIES: {"display_supported":false}
ile açıklar.
Sunucunuz cihazdan isteği aldığında, isteği ses cihazları için optimize edilmiş Web Alıcısı uygulamasına yönlendirmek için bu başlıktaki bilgileri kullanabilirsiniz.
Web Alıcısı API'sı
Web Alıcısı uygulaması yüklendiğinde CastReceiverManager.getDeviceCapabilities()
ç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 bilgilerine de sahiptir. Bunlar, gönderen uygulamanızın alıcıya ne tür bir medya içeriği göndereceğini belirlemesine olanak tanır. Uygulamanız hem sesi hem de videoyu destekliyorsa yalnızca ses özellikli cihazlara video içeriği göndermekten kaçınabilir. Ayrıca uygulamanız, Tasarım Kontrol Listesi'nde açıklandığı gibi cihaz için en uygun yöntemi kullanarak ses seviyesini kontrol edebilir. Gönderenler için aşağıdaki cihaz özellikleri API'lerine bakın:
- Android: CastDevice.hasCapabilities
- iOS: cihaz özellikleri
- Chrome: chrome.cast.Capability
Bellek kullanım yönergeleri
Ses cihazlarında çalışan Web Alıcı uygulamaları, bellek kullanımını aşağıdaki gibi yönetmelidir:
- Bellek ayak izini azaltmak ve oynatma başlayana kadar geçen süreyi kısaltmak için resim veya grafik öğeleri indirmekten veya kullanmaktan kaçının.
- Medya Kaynağı Uzantıları (MSE) kullanılırken uygulamalarda akış akışının 2 MB ile sınırlanması gerekir. Medya Oynatıcı Kitaplığı (MPL) kullanıyorsanız uygulamanın akış arabellek boyutu MPL tarafından zaten tanımlanmıştır.
- HTMLMediaElement kullanılırken uygulamanın akış arabelleği boyutu, Chrome tarafından akış hızına göre tanımlanır. Ses bit hızını saniyede 2 megabit ile sınırlandırın. Bu, Desteklenen Medya bölümünde açıklanan tüm codec'leri destekler (48 KHz/16 bit'e kadar).
Ses düzeyi kontrolü
Ses cihazları için Google Cast'in çoğunda gönderen uygulaması bir Chromecast cihazda olduğu gibi yalnızca ses kaynağı giriş hacmini değil, cihazın tam ses aralığını da kontrol eder. Bu durumda, ses değişiklikleri yalnızca ses uygulamaları için daha küçük olmalıdır. Uygulamanızda hacim kontrolü sağlamayla ilgili kurallar için aşağıdaki dokümanlara bakın:
- Tasarım Kontrol Listesi'ndeki gönderen ses düzeyi kontrolleri
- Android göndereni hacmi
- iOS gönderen hacmi
- Web gönderici hacmi
Cihaz kontrolleri
Ses cihazları için Google Cast'in kendi oynatma kontrolleri (ör. düğmeler, uzaktan kumandalar) olabilir. Bunlar, alıcı uygulamada oynatmayı kontrol etmek
için Medya Oynatma Mesajları'nda açıklandığı şekilde urn:x-cast:com.google.cast.media
ad alanı için tanımlanan medya oynatma mesajlarını kullanır. Alıcı uygulamanız, cihazın oynatma kontrollerini desteklemek için bu medya oynatma mesajlarını desteklemelidir.
Ayrıca, gönderen uygulaması Alıcıdan gönderene mesajlar'ı desteklemelidir. Böylece kullanıcı, cihaz denetimlerini kullanarak medya durumunu değiştirirse gönderen uygulamanız alıcıdan bir durum mesajı alabilir ve kullanıcı arayüzünü buna uygun olarak güncelleyebilir.
Cihaz ekranı
Ses cihazı için Google Cast'in cihazda bir LCD ekranı veya medya meta verilerini gösteren cihaza özel bir kontrol uygulaması olabilir. Alıcı uygulamanız, tüm meta veri parçaları için bu meta verileri sağlamalı ve meta verilerin ekranda düzgün şekilde görüntülenmesini sağlamak için o anda oynatılan içerikle senkronize olmasını sağlamalıdır. Uygulama özel meta veri kullanıyorsa her platform için aşağıda açıklanan standart ses meta verilerini de (şarkı adı, sanatçı adı, albüm adı vb.) sağlamalıdır.
Alıcı, medyayı yüklerken gönderenden meta verileri alır. Gönderen uygulamanızda, medyayı alıcıya yükleme komutuyla meta verilerin ses için Google Cast'te görüntülenmesi için aşağıda açıklanan alanları belirtmeniz gerekir. Aşağıdaki API'leri kullanın:
MEDIA_TYPE_MUSIC_TRACK
içeren AndroidMediaMetadata
ve:iOS
GCKMediaMetadata
GCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
ve:MusicTrackMediaMetadata
içeren ChromeMediaInfo
ve:
Cast uygulaması alıcıda veya bulutta bir medya sırasını yönetiyorsa Web Alıcısı'nın, tüm gönderenlerin senkronize edilebilmesi için urn:x-cast:com.google.cast.media
ad alanını kullanarak medya durumu güncellemelerini yayınlaması gerekir.
Kayıt
Ses için Google Cast'inizi test etmek üzere kaydetmeniz ve Google Cast SDK'sı Geliştirici Konsolu'nu kullanarak ses cihazları için Google Cast'i desteklemek üzere uygulamanızı kaydetmeniz gerekir.
- Cihazları kaydettirme hakkında daha fazla bilgi için Cihazlar sayfasına bakın.
- Uygulamanızın ses cihazları için Google Cast'i keşfetmesine izin vermek istiyorsanız uygulamanızı kaydederken Yalnızca ses cihazlara yayınlamayı destekler onay kutusunu işaretlemeniz gerekir. Başvurunuzu kaydettirme başlıklı makaleyi inceleyin.
Test için kullanılanlar gibi yayınlanmamış uygulamalarda, uygulamanın yalnızca ses özellikli cihazları keşfetmesi için yalnızca ses özellikli cihazları destekleme seçeneğini de belirlemeniz gerekir.
Ses için 2.0 Google Cast
Ses için Google Cast (GC4A) 2.0, içeriğinizin akışını yapabilen cihazların ekosistemini genişletmek amacıyla düşük bellekli cihazları hedeflemek için tasarlanmış yeni nesil Cast ses platformudur.
Ses uygulaması geliştiricilerinin uygulamalarını GC4A 2.0'da test etmeleri önemlidir. Cast uygulamanızı GC4A 2.0 için üretim Bose hoparlöründe (örneğin, Bose Akıllı Hoparlör 500) test edebilirsiniz.
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 adresiyle iletişime geçin. Uygulamanızdaki hataları ayıklamak isterseniz Google, Yayın Hata Ayıklama Günlüğü'nü kullanmanızı önerir.