O Google Cast para dispositivos de áudio é compatível apenas com reprodução de áudio. Este guia descreve como otimizar aplicativos de transmissão para dispositivos somente de áudio e aproveitar as demandas reduzidas na utilização da memória, da CPU e da largura de banda da rede.
Um app compatível com o Google Cast para áudio precisa considerar o seguinte:
- O Google Cast para dispositivos de áudio não exibe vídeos nem gráficos. No entanto, muitos dispositivos de áudio têm uma tela para mostrar metadados, como o estado da reprodução (tocando ou pausada) e o progresso. Seu aplicativo não pode exibir essas informações essenciais aos usuários apenas no receptor. As informações essenciais e a maior parte da interface do usuário precisam ser exibidas no remetente.
- Para executar aplicativos Web Receiver corretamente, o Google Cast para dispositivos de áudio ainda precisa renderizar elementos gráficos, mesmo que eles não sejam exibidos. Como os dispositivos podem não ser compatíveis com operações gráficas aceleradas por hardware, os aplicativos receptores devem evitar o uso de operações com uso intensivo de gráficos, como gradientes de cor, rotação, mistura Alfa e redesenho de objetos grandes, como barras de progresso mais de uma vez por segundo.
- O Google Cast para dispositivos de áudio é compatível apenas com conteúdo protegido pelo Widevine para gerenciamento de direitos digitais (DRM, na sigla em inglês).
- Para a maioria dos dispositivos Google Cast para áudio, o aplicativo remetente controla toda a faixa de volume do dispositivo (um alto-falante, por exemplo), não apenas o volume da entrada da fonte de áudio para a TV, como acontece com um dispositivo Chromecast.
- Além de controlar a reprodução com o dispositivo remetente (um smartphone, por exemplo), o app pode precisar controlar a reprodução com os controladores do dispositivo, como controle remoto, botões no dispositivo ou um aplicativo remoto externo.
- Um Google Cast para dispositivo de á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 receptores de áudio e vídeo) ou um aplicativo remoto externo, dependendo da IU específica do dispositivo.
Desenvolvimento
O primeiro passo no desenvolvimento de um aplicativo de transmissão compatível com o Google Cast para áudio é desenvolver um aplicativo de transmissão para áudio e vídeo e garantir que ele seja executado em um Chromecast. Este documento pressupõe que você tenha desenvolvido e testado um aplicativo desse tipo.
Um app pode ser compatível com dispositivos de áudio e vídeo e apenas com áudio. Ele precisa saber quando é transmitido para um em comparação com o outro e tomar medidas para garantir a melhor experiência do usuário no cenário fornecido.
Por exemplo, apps duplos de vídeo e áudio (como aplicativos de reprodução de arquivos locais/NAS) precisam ativar a transmissão para dispositivos somente de áudio para oferecer compatibilidade com a reprodução de arquivos de áudio, mas o app não pode permitir que o usuário envie arquivos de vídeo para o dispositivo somente de áudio. O app pode usar as APIs de recursos do dispositivo para remetentes descritas abaixo para determinar o conteúdo adequado para o dispositivo.
Para oferecer compatibilidade com o Google Cast de áudio, o app precisa fazer o seguinte:
Compatibilidade somente com áudio: streaming de músicas e arquivos de áudio, rádio etc. A mídia transmitida para o app Web Receiver não pode ser um stream de vídeo. Além disso, evite transmitir imagens e gráficos para melhorar o tempo de inicialização do aplicativo e o uso da memória. Consulte Diretrizes de uso de memória abaixo.
Eles funcionam como esperado em um dispositivo de transmissão para áudio e um Chromecast normal.
Recursos do dispositivo
O app pode saber se está sendo executado em um dispositivo somente de áudio devido às APIs de recursos do dispositivo, disponíveis no próprio dispositivo ou pelas APIs do remetente ou do receptor.
Cabeçalho HTTP do dispositivo
O cabeçalho HTTP CAST-DEVICE-CAPABILITIES
fornecido pelo dispositivo de transmissão durante
a inicialização do aplicativo descreve os recursos do dispositivo. O dispositivo envia uma solicitação
com esse cabeçalho ao servidor que hospeda o app Web Receiver. O cabeçalho de um
dispositivo somente de áudio descreve os recursos do dispositivo com
CAST-DEVICE-CAPABILITIES: {"display_supported":false}
.
Quando o servidor recebe a solicitação do dispositivo, é possível usar as informações nesse cabeçalho para redirecionar a solicitação ao app Web Receiver, otimizado para dispositivos de áudio.
API Web Receiver
Você pode chamar o mesmo objeto de funcionalidades do dispositivo chamando CastReceiverManager.getDeviceCapabilities()
quando o app Web Receiver é carregado.
Consulte Recursos do dispositivo para mais informações.
APIs do remetente
Cada uma das APIs de transmissão do Google Cast também tem as informações dos recursos do dispositivo. Isso permite que o app remetente determine o tipo de mídia que será enviada ao destinatário. Se o app for compatível com áudio e vídeo, ele poderá evitar o envio de conteúdo de vídeo para dispositivos somente de áudio. Além disso, o app pode controlar o volume usando o método mais adequado para o dispositivo, conforme descrito na Lista de verificação de design. Consulte as seguintes APIs de recursos do dispositivo para remetentes:
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capacidade
Diretrizes de uso de memória
Os apps receptores da Web executados em dispositivos de áudio precisam gerenciar o uso da memória da seguinte maneira:
- Evite fazer o download ou usar recursos gráficos ou de imagem para reduzir a presença de memória e reduzir o tempo até que a reprodução seja iniciada.
- Ao usar extensões de fonte de mídia (MSE, na sigla em inglês), os aplicativos precisam limitar o buffer de stream a 2 MB. Se você estiver usando a Biblioteca Media Player (MPL), o tamanho do buffer de stream do aplicativo já estará definido pela MPL.
- Ao usar HTMLMediaElement, o tamanho do buffer de stream do aplicativo é definido pelo Chrome com base na taxa de stream. Limite a taxa de bits de áudio a 2 megabits por segundo, o que é compatível com todos os codecs descritos em Mídia compatível (até 48 KHz/16 bits).
Controle do volume
Para a maioria dos dispositivos Google Cast para áudio, o aplicativo remetente controla o intervalo total do volume do dispositivo, não apenas o volume de entrada da fonte de áudio, como acontece com um dispositivo Chromecast. Isso significa que os incrementos de volume precisam ser menores em apps somente para áudio. Consulte os seguintes documentos para ver diretrizes sobre como fornecer controle de volume no seu app:
- Controles de volume do remetente na Lista de verificação de design
- Volume de remetentes do Android
- Volume de remetentes no iOS
- Volume de remetentes da Web
Controles do dispositivo
O Google Cast para dispositivos de áudio pode ter os próprios controles de mídia, como
botões, controles remotos. Elas usam as mensagens de reprodução de mídia definidas para o namespace
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 ser compatível com
essas mensagens de mídia para oferecer suporte aos controles de reprodução do dispositivo.
Além disso, o app remetente precisa ser compatível com as Mensagens do receptor para remetente para que, se o usuário mudar o estado da mídia com os controles do dispositivo, o app do remetente possa receber uma mensagem de status do destinatário e atualizar a IU de acordo.
Visor do dispositivo
Um Google Cast para dispositivo de áudio pode ter uma tela LCD ou um aplicativo de controle específico ao dispositivo que exibe metadados de mídia. O app receptor precisa fornecer esses metadados para todas as faixas de áudio e garantir que ele esteja sincronizado com o conteúdo em reprodução no momento para garantir que os metadados sejam exibidos adequadamente na tela. Se o aplicativo estiver usando metadados personalizados, ele também precisará fornecer os metadados de áudio padrão (nome da faixa, nome do artista, título do álbum etc.), conforme descrito para cada plataforma abaixo.
O destinatário recebe os metadados do remetente quando carrega a mídia. No app do remetente, com o comando para carregar a mídia no receptor, é preciso especificar os campos descritos abaixo para que os metadados sejam exibidos no dispositivo Google Cast para áudio. Use as seguintes APIs:
Android
MediaMetadata
comMEDIA_TYPE_MUSIC_TRACK
e:iOS
GCKMediaMetadata
comGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
e:Chrome
MediaInfo
comMusicTrackMediaMetadata
e:
Se o app Google Cast gerenciar uma fila de mídia no receptor ou na nuvem, ele
precisará transmitir as atualizações de status de mídia usando o
namespace urn:x-cast:com.google.cast.media
para que todos os remetentes sejam
sincronizados.
Inscrição
É necessário registrar o Google Cast para dispositivo de áudio para testar e registrar seu app para oferecer compatibilidade com o Google Cast para dispositivos de áudio usando o Console do desenvolvedor do SDK do Google Cast.
- Consulte Dispositivos para mais informações sobre como registrar dispositivos.
- Marque a caixa de seleção Compatível com a transmissão a dispositivos somente de áudio ao registrar o aplicativo para permitir que ele descubra o Google Cast para dispositivos de áudio. Consulte Registrar o aplicativo.
Para apps não publicados, como os usados para testes, você também precisa selecionar a opção compatível com dispositivos somente de áudio para que o app descubra dispositivos somente de áudio.
Google Cast para áudio 2.0
O Google Cast for Audio (GC4A) 2.0 é a nova plataforma de áudio do Google Cast criada para ser usada em dispositivos com pouca memória e expandir o ecossistema de dispositivos que podem fazer streaming do seu conteúdo.
É importante que os desenvolvedores de apps de áudio testem apps no GC4A 2.0. É possível testar seu app do Google Cast no GC4A 2.0 em um alto-falante de produção Bose (por exemplo, o Bose Smart Speaker 500).
Entre em contato com gc4a-support-external@google.com se precisar de ajuda para configurar os testes ou se não for possível usar um alto-falante Bose. Se você quiser depurar o app, o Google recomenda o uso do registro de depuração de transmissão.