技術

【Alexa Skill】ビックリするなかれ (Unsupported Directive)

投稿日:2018年9月10日 更新日:

どうも中田です。
みなさんAlexa使ってます?Alexaスキル作ってます?

今回はAlexaスキルのメモ。

Alexaの応答で発語と同じように音声ファイル(mp3)を流すのって制限あるんですよね。
下記のような audio タグで囲んだものをAlextに対してemitすれば音声流してくれるんですが。

<audio src="音声.mp3" />

制約

  • 音声ファイルは5つまで
  • 合わせて90秒まで

これだと長い音声を流したいという希望が叶えられません。
そこで用意されてるのが AudioPlayer
これで音楽を再生すれば長い音声にも対応できます。

'XXXXIntent': function () {
  var url = '長い音声ファイル.mp3';
  this.response.audioPlayerPlay('REPLACE_ALL', url, url, null, 0);
  this.emit(':responseReady');
}

Webシミュレータでいつも確認してるのですが、
そこで遭遇したメッセージ

Unsupported Directive
AudioPlayer is currently an unsupported namespace. Check the device log for more information.

おっ、、、、と思いましたが、これは単純な警告。
シミュレータでなく実機でしかaudioPlayerは動きませんよ。
というものです。

実機でやるとちゃんと動きましたー

触って見て思いましたが、Alexaスキル面白そうですね。

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

[Angular]複数のクエリパラメータを設定する

こんばんは angularで複数のクエリパラメータを設定したいと思います。 co …

no image

【Angular】Full calendarで横スクロールを実装

こんにちは Full Calendarにはいくつかの表示モードがあります。 こち …

wgetコマンドで指定のサイトをダウンロードしてみる。

wgetコマンドって? 下記の形式のコマンドを叩くと、指定のURLからファイルを …

no image

【AngularJS】 $on, $emit, $broadcast

どうも、なかたです。 AngularJSのコントローラー(スコープ)間のデータや …

rails_logo

[Rails] Controllerで表示してるページのパスを判定したい

Controllerで表示してるページのパスを判定して、条件分岐したいと思います …