ネコと和解せよ

TBSKmodemJSを更新しました

TBSKmodemJSを更新しました。

github.com

今回の更新の目玉は、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はまた後日更新します。