見出し画像

オーディオファイルの再生

スキル開発をしていると、音楽ファイルや独自に作成/入手した効果音を使用したくなることがありませんか?
音声ファイルの要件から再生する為のサンプルコードを公開します

音声ファイルの要件

・形式:.mp3
・仕様: 16000 Hz/ビットレート(48 kbps)
・長さ: Max 240秒
・サイズ:Max 10MB

(webで入手したMP3はこの要件を満たす必要があります。ビットレートやサンプリング周波数の変更は別の記事にまとめます)

ファイルの保存場所

・スキル開発のコードエディタの上部タブの S3 Strage を選択

あああ

・自分のPCから音声ファイル(MP3)をアップロードする

いいい

サンプルコード


/* *
* This sample demonstrates handling intents from an Alexa skill using the Alexa Skills Kit SDK (v2).
* Please visit https://alexa.design/cookbook for additional examples on implementing slots, dialog management,
* session persistence, api calls, and more.
* */

const Alexa = require('ask-sdk-core');
const Util = require('./util.js');    // S3にアクセス

//ファイル取得
const url = Util.getS3PreSignedUrl('Media/jobs_48.mp3');

//audio-list
const tr =`<audio src="${Alexa.escapeXmlCharacters(url)}"/>`;

const LaunchRequestHandler = {
   canHandle(handlerInput) {
       return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
   },
   handle(handlerInput) {
       let speakOutput = "";
       speakOutput = tr ;
       
       return handlerInput.responseBuilder
           .speak(speakOutput)
           //.reprompt(speakOutput)
           .getResponse();
   }
};

s3のMediaに保存した jobs_48.mp3 を再生させるコードです
サンプルコード中の下記3行を書き換えて下さい

const Util = require('./util.js'); 
const url = Util.getS3PreSignedUrl('Media/jobs_48.mp3');
const tr =`<audio src="${Alexa.escapeXmlCharacters(url)}"/>`;

・const Util = require('./util.js'); をコードの冒頭部に追加
・jobs_48.mp3
は自分の作成したファイル名に変更
url / tr は変数名なので任意に変更可


いいなと思ったら応援しよう!