Num artigo anterior vimos que escutar rádio pela Alexa é muito fácil. Mas para isso precisamos fazer um cadastro na plataforma TuneIn.
Nesse artigo eu vou te mostrar uma outra maneira de ouvir rádio através da Alexa: criando uma skill personalizada.
Skill Para Web Rádio
Em um artigo anterior já te falei como você pode escutar sua rádio favorita na Alexa.
Te mostrei que a Alexa tem integração nativa com o TuneIn, uma plataforma de streaming de áudio que possui rádios do mundo todo.
Vimos como abrir uma conta no TuneIn, vincular na sua conta Alexa e como chamar o TuneIn para a Alexa tocar rádio.
Disse também que essa era a forma mais simples de ouvir rádio na Alexa.
Existe uma outra forma que vou te mostrar agora: criar uma skill personalizada para web rádio.
Vamos ver como criar uma skill para web rádio?
URL Do Stream De Áudio Da Rádio
O objetivo do vídeo não é ensinar a montar uma web rádio, por isso a primeira coisa que você vai precisar é do endereço do stream de áudio da rádio pronto e funcionando.
Esta URL precisa ter certificado, ou seja, precisa começar com HTTPS.
Se você abrir este endereço no navegador, por exemplo, a rádio começa a ser transmitida.
Habilitando A Interface De Áudio Na Skill
Agora precisamos fazer com que a skill consiga trabalhar com áudio. Então precisamos habilitar a interface Audio Player na skill.
- Entre no console do desenvolvedor
- Entre em sua skill
- Na aba Build, vá em Interfaces, no menu esquerdo
- Habilite a interface do Audio Player
A interface Audio Player fornece diretivas e solicitações para streaming de áudio.
E já inclui algumas Intents especificas para o controle do fluxo de áudio.
Não se esqueça de salvar e fazer o build do modelo de interação.
Comando Para Tocar Stream De Áudio
Agora vamos para a aba Code.
Na resposta vamos utilizar um comando para que o áudio seja executado.
Vamos modificar o responseBuilder do LaunchRequest, incluindo uma diretiva addAudioPlayerPlayDirective para que o stream de áudio seja executado.
O código do responseBuilder ficará desta forma:
return handlerInput.responseBuilder .speak(speakOutput) .addAudioPlayerPlayDirective('REPLACE_ALL', 'https://player.stm-ipbr.com/ssl/9078', 1, 0, null, null) .getResponse();
Os parâmetros desta diretiva são:
- playBehavior: Comportamento de reprodução. REPLACE_ALL inicia imediatamente a reprodução.
- url: endereço do conteúdo de áudio. Precisa ter certificado SSL.
- token: um token que representa o stream.
- offsetInMilliseconds: 0 para reproduzir o stream de áudio desde o início.
- expectedPreviousToken: Um token que representa o fluxo anterior esperado. Opcional.
- audioItemMetadata: Metadados que podem ser exibidos em dispositivos habilitados para tela. Opcional.
Testando Sua Skill Para Web Radio
Chegou a hora de testar sua skill.
Já mostrei que dentro do console do desenvolvedor existe um simulador da Alexa na aba Test e podemos utilizá-la para fazer testes da nossa skill.
Porem neste caso isso não será possível, porque o simulador da Alexa não tem suporte a diretiva AudioPlayer que utilizamos no código.
Então precisamos fazer o teste de outra forma, utilizando um device físico ou o app da Alexa.
Para fazer o teste no Echo, podemos simplesmente chamar: “Alexa, abra Minha Rádio”.
Palavras finais
Pronto, já vimos como executar um stream de áudio através de uma skill Alexa.
Claro que para a skill ser enviada para loja ainda falta alguns ajustes.
Por exemplo, as Intents que foram incluídas ao adicionarmos a interface do Audio Player precisam ser tratadas no código, senão a skill não passa na certificação.
Mas isso fica para um outro dia.
Abaixo tem 2 links para skills de web rádio que eu fiz utilizando esta interface e estão disponíveis na loja. Testa lá pra ver como funciona.
Skill da Rádio Energia 97 FM – São Paulo
Skill da Rádio Juventude 97.9 FM – Peruíbe
Meu e-book com 4 passos para criar sua primeira skill Alexa está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/minha-primeira-skill-alexa
Bora aprender a desenvolver skills para Alexa!