見出し画像

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

飯澤高志 / モノコト創り

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

音声ファイルの要件

・形式:.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 は変数名なので任意に変更可


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
飯澤高志 / モノコト創り
生粋の"ものづくり大好き人間"です。仕事に関係ある/なしに創作物や普段の気付きを徒然なるままに記事にしていきます。