Os dispositivos com Google Cast para áudio são compatíveis somente com a reprodução de áudio. Neste guia, descrevemos: como otimizar os aplicativos de transmissão para dispositivos somente de áudio e aproveitar e reduzir a demanda de memória, CPU e largura de banda de rede.
Um app compatível com o Google Cast para áudio precisa considerar o seguinte: consideração:
- O Google Cast para dispositivos de áudio não exibe vídeo nem elementos gráficos. No entanto, Muitos dispositivos de áudio têm uma tela para mostrar metadados, como reprodução estado (em reprodução ou pausado) e o progresso. Seu aplicativo não pode exibir essas informações críticas do usuário apenas no destinatário; informações críticas, e a maior parte da interface do usuário, deve ser mostrada no remetente.
- Para executar aplicativos receptores da Web corretamente, o Google Cast para dispositivos de áudio ainda precisa renderizar gráficos, mesmo que eles não sejam exibidos. Como podem não ter suporte a operações gráficas com aceleração de hardware, os aplicativos receptores devem evitar o uso de operações como gradientes de cor, rotação, mistura alfa e novo desenho de imagens em objetos, como barras de progresso, mais de uma vez por segundo.
- O Google Cast para dispositivos de áudio é compatível apenas com Widevine para Direitos Digitais Conteúdo protegido por DRM.
- Na maioria dos dispositivos com Google Cast para áudio, o aplicativo remetente controla a faixa de volume total do dispositivo (um alto-falante, por exemplo), não apenas volume da entrada da fonte de áudio para a TV, como em um dispositivo Chromecast.
- Além de controlar a reprodução com o dispositivo remetente (um smartphone, por exemplo), o app pode precisar fornecer controle de reprodução com o controles do próprio dispositivo, como um controle remoto, botões no dispositivo ou um aplicativo remoto externo.
- Um dispositivo com Google Cast para áudio pode ser compatível com a exibição de metadados de conteúdo com uma pequena tela LCD, saída HDMI (para soundbars ou áudio e vídeo ou um aplicativo remoto externo, dependendo da interface do dispositivo.
Desenvolvimento
A primeira etapa no desenvolvimento de um aplicativo do Google Cast compatível com o Google Cast para áudio é desenvolver um aplicativo Google Cast para áudio e vídeo e garantir que ele seja executado um Chromecast. Este documento pressupõe que você desenvolveu e testou esse aplicativo.
Um aplicativo pode oferecer suporte a dispositivos de áudio e vídeo. Ele precisa saber ao transmitir um contra o outro e tome medidas para garantir a melhor experiência do usuário no cenário fornecido.
Por exemplo, apps duplos de vídeo e áudio (como reprodução de arquivos locais/NAS aplicativos) devem ativar a transmissão para dispositivos somente de áudio para permitir a reprodução de arquivos de áudio, mas o aplicativo não deve permitir que o usuário envie arquivos de vídeo ao dispositivo somente de áudio. O app pode usar o APIs de recursos do dispositivo para remetentes descritos abaixo para determinar o conteúdo apropriado para o dispositivo.
Para oferecer suporte ao Google Cast para áudio, seu app precisa fazer o seguinte:
Suportam somente áudio: streaming de arquivos de áudio e música, rádio, etc. A mídia transmitidos para o app receptor da Web não podem ser um stream de vídeo. Além disso, evite fazer streaming de gráficos e imagens para melhorar o tempo de inicialização do aplicativo e uso de memória. Consulte as Diretrizes de uso da memória abaixo.
Ele funciona como esperado em um dispositivo de transmissão para áudio e em um Chromecast normal.
Recursos do dispositivo
Seu app pode saber se está sendo executado em um dispositivo somente de áudio devido ao recurso APIs de recursos do dispositivo, disponíveis no próprio dispositivo ou pelo remetente ou APIs receptoras.
Cabeçalho HTTP do dispositivo
O cabeçalho HTTP CAST-DEVICE-CAPABILITIES
fornecido pelo dispositivo de transmissão durante
inicialização do aplicativo descreve os recursos do dispositivo. O dispositivo envia uma solicitação
com esse cabeçalho para o servidor que hospeda o aplicativo Web Receiver. O cabeçalho de um
dispositivo somente de áudio descreve os recursos do dispositivo com
CAST-DEVICE-CAPABILITIES: {"display_supported":false}
:
Quando seu servidor receber a solicitação do dispositivo, você poderá usar o informações neste cabeçalho para redirecionar a solicitação para o aplicativo Web Receiver, que é otimizado para dispositivos de áudio.
API Web Receiver
Para ter o mesmo objeto de recursos do dispositivo, chame CastReceiverManager.getDeviceCapabilities()
.
quando o app receptor da Web é carregado.
Consulte Recursos do dispositivo para saber mais informações imprecisas ou inadequadas.
APIs Sender
Cada uma das APIs de transmissão do Cast também tem as informações de recursos do dispositivo. Isso permite que o app remetente determine que tipo de mídia enviar ao destinatário. Se o app oferece suporte a áudio e vídeo, ele pode evitar o envio de conteúdo de vídeo para e dispositivos somente de áudio. Além disso, o app pode controlar o volume usando o método apropriado para o dispositivo, conforme descrito na Lista de verificação de design. Consulte as seguintes APIs de recursos de dispositivo para remetentes:
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capability
Diretrizes de uso da memória
Os apps receptores da Web executados em dispositivos de áudio precisam gerenciar o uso da memória da seguinte maneira:
- Para reduzir a memória, evite fazer o download ou usar recursos gráficos ou de imagem. e reduzir o tempo até a reprodução começar.
- Ao usar extensões de origem de mídia (MSE, na sigla em inglês), os aplicativos precisam limitar o stream. para 2 MB. Se estiver usando a Biblioteca Media Player (MPL), o arquivo o tamanho do buffer de stream já está definido pelo MPL.
- Ao usar HTMLMediaElement, o tamanho do buffer de stream do aplicativo é definido pelo Chrome com base na taxa de transmissão. Limitar a taxa de bits de áudio a 2 megabits por que tem suporte para todos os codecs descritos em Mídia compatível (até 48 KHz/16 bits).
Controle do volume
Na maioria dos dispositivos com Google Cast para áudio, o aplicativo remetente controla a faixa de volume total do dispositivo, não apenas o volume de entrada da fonte de áudio, como dispositivo Chromecast. Isso significa que os incrementos de mudança de volume devem ser menores para aplicativos somente de áudio. Consulte os documentos a seguir para ter acesso a diretrizes sobre como fornecer controle de volume no seu app:
- Controles de volume do remetente no Lista de verificação de design
- Volume do remetente do Android
- Volume do remetente do iOS
- Volume do remetente da Web
Controles do dispositivo
O Google Cast para dispositivos de áudio pode ter os próprios controles de reprodução (como
botões, controles remotos). Usam as mensagens de reprodução de mídia definidas para o
urn:x-cast:com.google.cast.media
, conforme descrito em
Mensagens de reprodução de mídia, para controlar a reprodução
no aplicativo receptor. O aplicativo receptor precisa oferecer suporte
essas mensagens de reprodução de mídia para oferecer suporte aos controles de mídia do dispositivo.
Além disso, o app remetente precisa ser compatível com as Mensagens do destinatário para o remetente para que, se o usuário alterar o estado da mídia com os controles do dispositivo, seu app remetente pode receber uma mensagem de status do destinatário e atualizar a interface de maneira adequada.
Tela do dispositivo
Um dispositivo com Google Cast para áudio pode ter uma tela LCD no dispositivo ou aplicativo de controle específico do dispositivo que exibe metadados de mídia. Seu destinatário o app precisa fornecer esses metadados para todas as faixas de áudio e garantir que eles estejam sincronizados com o conteúdo em reprodução para garantir que os metadados sejam exibidos de forma adequada no visor. Se o aplicativo estiver usando metadados personalizados, ele também deve fornecer os metadados de áudio padrão (nome da faixa, nome do artista, álbum etc.) conforme descrito para cada plataforma abaixo.
O destinatário recebe os metadados do remetente ao carregar a mídia. Em app remetente, com o comando para carregar a mídia no receptor, é necessário especifique os campos descritos abaixo para que os metadados sejam exibidos na Google Cast para dispositivo de áudio. Use as seguintes APIs:
Android
MediaMetadata
comMEDIA_TYPE_MUSIC_TRACK
e:iOS
GCKMediaMetadata
comGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
e:Chrome
MediaInfo
comMusicTrackMediaMetadata
e:
Se o app Cast gerenciar uma fila de mídia no receptor ou na nuvem, o
O receptor da Web deve transmitir as atualizações de status de mídia usando o
urn:x-cast:com.google.cast.media
para que todos os remetentes sejam
sincronizados.
Registro
É necessário registrar seu dispositivo com Google Cast para uso de áudio para testes e registro que seu app seja compatível com o Google Cast para dispositivos de áudio. Para isso, use o Console para desenvolvedores do SDK do Google Cast.
- Consulte Dispositivos para mais informações sobre como registrar dispositivos.
- Marque a caixa de seleção Suporte à transmissão para dispositivos somente de áudio quando registrando seu aplicativo para permitir que ele descubra o Google Cast para dispositivos de áudio. Consulte Registrar o aplicativo.
No caso de apps não publicados, como aqueles usados para testes, também é necessário selecionar a opção opção de oferecer suporte a dispositivos somente de áudio para que o app os descubra e dispositivos somente de áudio.
Google Cast para áudio 2.0
O Google Cast for Audio (GC4A) 2.0 é a plataforma de áudio com transmissão de última geração projetado para dispositivos com pouca memória, para expandir o ecossistema de dispositivos que podem transmitir seu conteúdo. Como o GC4A 2.0 é destinado a plataformas de áudio, a API da Web reduzido para se alinhar a dispositivos sem tela. O GC4A 2.0 está sendo lançado para novos e as caixas de som atuais compatíveis com a transmissão.
Como testar e depurar
Como todos os alto-falantes compatíveis vão fazer a transição para o GC4A 2.0, é importante que desenvolvedores de aplicativos de áudio testam seus aplicativos no GC4A 2.0. É possível testar o app Google Cast GC4A 2.0 em alto-falantes Wi-Fi Bose de produção, JBL Charge 5 com Wi-Fi, JBL Authentics, Cambridge Audio, Teuful Motiv Home, Soundbars LG 2024.
O GC4A 2.0 não oferece suporte ao Chrome Remote Debugger. Se você quiser depurar app, o Google recomenda usar o Cast Debug Logger.
Casos de teste básicos recomendados
É recomendável testar todos os recursos do app no GC4A 2.0. Certifique-se de incluir testes de reprodução de todos os tipos de mídia (podcasts, transmissões etc), pausa, refinamento, pular, mudar playlists, interromper e reconectar a transmissão.
APIs compatíveis
O GC4A 2.0 oferece suporte às seguintes APIs:
- HTML
- ECMA 6 para JavaScript
- DOMParser
- XMLSerializer
- Documento e subclasses
- DocumentFragment
- HTMLMediaElement e HTMLAudioElement
- HTMLVideoElement (só pode reproduzir conteúdo de áudio)
- HTMLScriptElement
- HTMLBaseElement
- HTMLTemplateElement
- Elementos personalizados
- Shadow DOM
- Módulos de script / assíncronos / adiados
- Busca / XHR
- WebSocket
- MessagePort
- Cookies
- MSE (extensões de fonte de mídia)
- Extensões de mídia criptografada (EME, na sigla em inglês)
- Armazenamento local / por sessão
O GC4A 2.0 não oferece suporte a:
- Importação de módulo dinâmico (adicionada em 2024)
- CSS
- IFrame
- TextTracks
Contato
Entre em contato gc4a-support-external@google.com se Você precisa de ajuda na configuração para testes ou não consegue usar um alto-falante Bose.