TBSKmodemJSを更新しました
TBSKmodemJSを更新しました。
今回の更新の目玉は、TbskSocketクラスです。
以前のバージョンはとりあえず動かすことが目的でAPIが謎に満ちていましたが、今回実装したTbskSocketクラスはWebsocketライクなAPIですんなり使える特徴があります。
例えば、メッセージの送信。
TBSKmodemJS.load().then((tbsk)=>{ let socket=new tbsk.misc.TbskSocket({carrier:16000,encoding:"utf8"}); socket.addEventListener("open",(event)=>{ socket.send("Hello TBSKmodem"); }); });
ライブラリのロードを非同期で実行した後はWebsocketとほぼ同じような構文で書けます。
次に受信
let socket=new tbsk.misc.TbskSocket({carrier:16000,encoding:"utf8"}); socket.addEventListener("open",(event)=>{ console.log("Socket open!"); }); socket.addEventListener("detected",(event)=>{ console.log("detected",event.id); }); socket.addEventListener("message",(event)=>{ console.log("message",event.id,event.data); }); socket.addEventListener("lost",(event)=>{ console.log("lost",event.id); });
mediaStreamとかWebAudioとかWASMとかの制御はTbskSocketが隠蔽するので、あまり考えずに音響通信アプリケーションが作れるようになりました。
サンプルコード
3種類あります。
- tbsksocket_recv - TbskSocketの受信機能のサンプルです。
- tbsksocket_send - TbskSocketの送信機能のサンプルです。
- tbsksocket_chat - 送受信機能両方を使ったメッセージ交換のアプリです。2つの端末間で通信ができます。
設置が面倒な方はこちらからどうぞ
https://nyatla.jp/tbskmodem/v0.4.1/getstarted/tbsksocket_chat.html
https://nyatla.jp/tbskmodem/v0.4.1/getstarted/tbsksocket_recv.html
https://nyatla.jp/tbskmodem/v0.4.1/getstarted/tbsksocket_send.html
npmはまた後日更新します。