Crear un reproductor de música en un skill de Alexa con Alexa .NET


Alexa .NET es la librería para C# que te permite crear skills para Alexa de una manera super fácil. Si aun no sabes como comenzar te recomiendo seguir la siguiente guía:

https://techcommunity.microsoft.com/t5/windows-dev-appconsult/build-your-first-alexa-skill-with-alexa-net-and-azure-functions/ba-p/317930

Si ya sabes como construir tu skill acá te explico como agregar un reproductor de música a tu skill, lo primero es asegurarte que el audio player este habilitado en tu skill. Dentro de las interfaces debemos revisar que si este habilitado:

Luego en nuestro código debemos verificar en intent de nuestro skill y también el intent de amazon.resumeintent ya que si el usuario detiene o pausa y luego continua queremos seguir reproduciendo la canción. En el ejemplo mi intent se llama music.

                    case "music":
                    case "amazon.resumeintent":

Luego vamos a necesitar la URL del MP3 que deseamos reproducir, debemos asignarle un tocken, en este caso estoy utilizando el himno nacional de Colombia

string audioUrl = "https://web.archive.org/web/20041019060651if_/http://www.navyband.navy.mil/anthems/ANTHEMS/Colombia.mp3";
string audioToken = "himno-colombia";

int OffsetInMilliseconds = (int)skillRequest.Context.AudioPlayer.OffsetInMilliseconds;
if (OffsetInMilliseconds > 160000 || skillRequest.Context.AudioPlayer.Token != "himno-colombia")
{
  OffsetInMilliseconds = 0;
}
response = ResponseBuilder.AudioPlayerPlay(PlayBehavior.ReplaceAll, audioUrl, audioToken, OffsetInMilliseconds);

Algo que es importante para continuar con la reproducción es capturar el OffsetInMilliseconds de la sesión o del contexto esto va permitir continuar la canción por donde iba. Si depronto la canción sobrepasó el tiempo que dura la inicio de nuevo en 0 lo mismo si el token es diferente pues otra canción se estaba reproduciendo.

Al final para devolver el comando para reproducir usamos ResponseBuilder.AudioPlayerPlay para decirle a alexa que siga reproduciendo.

Revisa este ejemplo en github: https://github.com/Mteheran/AmazonAlexaDotnet

Un comentario sobre “Crear un reproductor de música en un skill de Alexa con Alexa .NET

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s