Dispositivos de áudio

O Google Cast para dispositivos de áudio oferece suporte somente para a reprodução de áudio. Neste guia, descrevemos como otimizar aplicativos do Cast para dispositivos somente de áudio e aproveitar as demandas reduzidas de memória, CPU e utilização de 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 (em reprodução ou pausada) e o progresso. Seu app não pode mostrar essas informações críticas do usuário apenas no receptor. Informações essenciais e a maior parte da interface do usuário precisam ser mostradas 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 os dispositivos podem não oferecer suporte a operações gráficas aceleradas por hardware, os aplicativos receptores precisam 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 somente com conteúdo protegido pelo Widevine para o Gerenciamento de direitos digitais (DRM, na sigla em inglês).
  • Na maioria dos dispositivos de áudio com Google Cast, o app remetente controla a faixa de volume total do dispositivo (um alto-falante, por exemplo), e não apenas o volume da fonte de áudio para a TV, como acontece com o dispositivo Chromecast.
  • Além de controlar a reprodução com o dispositivo emissor (um smartphone, por exemplo), o app pode precisar fornecer o controle da reprodução com os próprios controles do dispositivo, como um controle remoto, botões no dispositivo ou um app remoto externo.
  • Um Google Cast para dispositivo de áudio pode oferecer suporte à exibição de metadados de conteúdo com uma tela LCD pequena, saída HDMI (para soundbars ou receptores de áudio e vídeo) ou um app remoto externo, dependendo da interface do dispositivo específico.

Desenvolvimento

A primeira etapa de desenvolvimento de um aplicativo do Google Cast compatível com o Google Cast para áudio é desenvolver um aplicativo do Google Cast para áudio e vídeo e garantir que ele seja executado em um Chromecast. Este documento pressupõe que você desenvolveu e testou esse aplicativo.

Um app pode oferecer suporte a dispositivos de áudio e vídeo e somente áudio. Ela precisa saber quando está sendo transmitida para um ou outro e tomar medidas para garantir a melhor experiência do usuário no cenário especificado.

Por exemplo, apps de áudio e vídeo duplos, como aplicativos de reprodução de arquivos local/NAS, precisam ativar a transmissão para dispositivos somente de áudio, a fim de permitir a reprodução de arquivos de áudio, mas não podem permitir que o usuário envie arquivos de vídeo ao 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 suporte ao Google Cast para áudio, seu app precisa fazer o seguinte:

  • Suporte somente a áudio: streaming de arquivos de áudio e música, rádio etc. A mídia transmitida para o app receptor da Web não pode ser um stream de vídeo. Além disso, evite o streaming de gráficos e imagens para melhorar o tempo de inicialização do aplicativo e o uso da memória. Consulte Diretrizes de uso da memória abaixo.

  • É executado como esperado em um dispositivo de transmissão para áudio e em 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 receptor.

Cabeçalho HTTP do dispositivo

O cabeçalho HTTP CAST-DEVICE-CAPABILITIES fornecido pelo dispositivo de transmissão durante a inicialização do app descreve os recursos do dispositivo. O dispositivo envia uma solicitação com esse cabeçalho para o servidor que hospeda o app Web Receiver. O cabeçalho para um dispositivo somente áudio descreve os recursos do dispositivo com CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

Quando o servidor recebe a solicitação do dispositivo, você pode usar as informações desse cabeçalho para redirecionar a solicitação ao app Web Receiver, que é otimizado para dispositivos de áudio.

API Web Receiver

Você pode conseguir o mesmo objeto de recursos do dispositivo chamando CastReceiverManager.getDeviceCapabilities() quando o app receptor da Web for carregado.

Consulte Recursos do dispositivo para mais informações.

APIs de remetente

Cada uma das APIs de transmissão do Google Cast também tem informações sobre os recursos do dispositivo. Isso permite que o app remetente determine o tipo de mídia que será enviado 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 dispositivos somente de áudio. Além disso, o app pode controlar o volume usando o método mais apropriado para o dispositivo, conforme descrito na Lista de verificação de design. Confira as seguintes APIs de recursos de dispositivo para remetentes:

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:

  • Evite fazer o download ou usar qualquer recurso gráfico ou de imagem, para reduzir o consumo de memória e reduzir o tempo até a reprodução começar.
  • Ao usar o Media Source Extensions (MSE), os aplicativos precisam limitar o buffer de stream a 2 MB. Se você estiver usando a Media Player Library (MPL), o tamanho do buffer de stream do aplicativo já estará definido pelo 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, que oferece suporte a todos os codecs descritos em Mídia compatível (até 48 KHz/16 bits).

Controle do volume

Na maioria dos dispositivos de áudio com Google Cast, o app remetente controla todo o 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 mudança de volume precisam ser menores para aplicativos somente de áudio. Consulte os documentos a seguir para ver diretrizes sobre como fornecer controle de volume no seu app:

Controles do dispositivo

O Google Cast para dispositivos de áudio pode ter os próprios controles de mídia, como botões e 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 oferecer suporte a essas mensagens de reprodução de mídia para oferecer suporte aos controles de reprodução do dispositivo.

Além disso, o app remetente precisa oferecer suporte a Mensagens do destinatário para o remetente para que, se o usuário mudar o estado da mídia com os controles do dispositivo, o app remetente possa receber uma mensagem de status do destinatário e atualizar a interface adequadamente.

Tela do dispositivo

Um dispositivo de áudio com Google Cast pode ter uma tela LCD ou um aplicativo de controle específico do dispositivo que exibe metadados de mídia. O app receptor precisa fornecer esses metadados para todas as faixas de áudio e garantir que eles estejam em sincronia com o conteúdo em reprodução para garantir que os metadados sejam exibidos de forma adequada 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 receptor recebe os metadados do remetente ao carregar a mídia. No app remetente, com o comando para carregar a mídia no receptor, você precisa especificar os campos descritos abaixo para que os metadados sejam exibidos no dispositivo de áudio com Google Cast. Use as seguintes APIs:

Se o app Google Cast gerenciar uma fila de mídia no receptor ou na nuvem, o receptor da Web vai precisar transmitir todas as atualizações de status da mídia usando o namespace urn:x-cast:com.google.cast.media para que todos os remetentes sejam sincronizados.

Inscrição

Registre seu Google Cast para dispositivos de áudio em testes e registre seu app para que ele seja compatível com dispositivos de áudio usando o Play Console do SDK do Google Cast.

  • Consulte Dispositivos para saber mais sobre como registrar dispositivos.
  • Marque a caixa de seleção Oferece suporte à transmissão para dispositivos somente de áudio ao registrar seu aplicativo para permitir que ele descubra o Google Cast para dispositivos de áudio. Consulte Registrar seu aplicativo.

Para apps não publicados, como os usados para testes, você também precisa selecionar a opção de oferecer suporte a 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 plataforma de áudio com transmissão de última geração projetada para dispositivos com pouca memória, a fim de expandir o ecossistema de dispositivos que podem transmitir seu conteúdo.

É importante que os desenvolvedores de apps de áudio testem os apps na GC4A 2.0. É possível testar seu app Google Cast para GC4A 2.0 em um alto-falante Bose de produção (por exemplo, o Alto-falante inteligente Bose 500).

Entre em contato com gc4a-support-external@google.com se precisar de ajuda para configurar o teste ou não conseguir usar um alto-falante Bose. Se você quiser depurar seu app, o Google recomenda usar o Cast Debug Logger.