パーツライブラリSPIkerをobnizのリポジトリに置いて効果音を鳴らす
2021/5/13公開
概要
obnizのリポジトリに外部パーツライブラリSPIkerを置き、
同じくリポジトリ上に置いたWAVファイルの効果音を鳴らす方法についてまとめました。
手順
①リポジトリにパーツライブラリとWAVファイルをアップロードします。
音声ファイルがWAV形式以外の場合はあらかじめツール等で44.1KHz16ビットモノラル(チャンネル数1)のWAV形式に変換しておきます。
自分のリポジトリに置いたファイルは"https://obniz.com/users/{user_id}/repo/{file_name}"という形式のURLでアクセスすることができます。
{user_id}に入るユーザIDはリポジトリから"公開ページ"ボタンをクリックする際に表示されるページのURLから知ることができます。
(下記画像の赤で塗りつぶしている部分)
URLの指定例:https://obniz.com/users/0000/repo/hoge.html
②下記サンプルコードを参考にプログラムを作り、リポジトリにアップロードします。(0000は自分のユーザIDに置換)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>効果音テスト</title>
<script src="https://unpkg.com/obniz@3.x/obniz.js"></script>
<script src="SPIker.js"></script>
<script>
var obniz = new Obniz("OBNIZ_ID_HERE");
var okSound = null;
var ngSound = null;
var speaker = null;
obniz.onconnect = async function () {
Obniz.PartsRegistrate(SPIker);
speaker = obniz.wired("SPIker", { signal:0, gnd:1 });
okSound = await speaker.convertFromURI("https://obniz.com/users/0000/repo/ok.wav");
ngSound = await speaker.convertFromURI("https://obniz.com/users/0000/repo/ng.wav");
}
async function playOK() {
speaker.play(okSound);
}
async function playNG() {
speaker.play(ngSound);
}
</script>
</head>
<body>
<input type="button" value="OK" onclick="playOK();"><br>
<br>
<input type="button" value="NG" onclick="playNG();">
</body>
</html>
③リポジトリで実行ボタンを押して実行します。
実行例(動画)
戻る