読者です 読者をやめる 読者になる 読者になる

親子丼の備忘録(改)

親子丼の日常を綴った何か。専門的なことも書くかも?

進捗した、ですけど。

おやこどぅぉーーん。
どうも、親子丼です。

2016/8/16 (Tue.)

今日は珍しく熱心に実装してました←
おかげで完成しましたよ!
(テストタイプですし、通信が安定しないですし、他ブラウザで試してませんし・・・)
(でも、完成は完成。)
これで明日、何も考えずにゲーセンにいけますね!←
台風?知りませんよ(白目)

そういえば、何を作っていたか書いていない気がしたので書きますと、
「ブラウザ上でボイスチャットをできるようにする」

「ブラウザから音声拾って文字に起こす」
というミッションが 与えられていまして、それを解決していたのです。
とりあえず、「ブラウザ上でボイスチャットをできるようにする」
の方は解決できたと思います、多分。
PeerJS」というライブラリを使って
Node.js + Express + AngularJSの環境に実装しました。
PeerJSとは、WebRTCという最新技術をJavaScriptで使いやすい形にライブラリ化
したものです。
WebRTCとは、

W3Cが提唱するリアルタイムコミュニケーション用のAPIの定義で、
プラグイン無しでウェブブラウザ間のボイスチャット
ビデオチャット、ファイル共有ができる。 (WebRTC - Wikipedia)

というもの。
まさにこれに使うべく生まれてきた技術です←
良い点としては、ラグがとても少なくて、
僕が家の中で試した時はマイクに拾わせてるラジオの音と
実際になっているラジオの音とのラグが全くと言っていいほどなかったです。
残念な点を上げるとすれば、
対応しているブラウザがやや少ない、
f:id:oyakodon2109:20160816235848p:plain:w300

ことと僕が試したところではちょっと音質に難があることぐらいですかね。
(本当はそうでもないらしいけど)
すごい奴ですよ、こいつ。

交信するには、IDを交換する必要があるんです。
そこで登場!「socket.io」。
WebSocketを使って、入退室時にIDを交換してやって、
交換されたらストリームを開いたり閉じたりするようにしました。
まあ、自分で全部やった調に書いていますが、
ほぼこのページのことです(汗)

qiita.com

僕にとってこのページは救いの手でした、本当に助かりました。
僕がやったのは、Expressの雛形 + AngularJSの環境で動くようにしたのと、
PeerServerを./bin/wwwではなく普通にコマンドで起動させるようにしたことです。
(npmでインストールすると、「./node_modules/peer/bin/peerjs」にバイナリファイルがあります)
Cloud9で9000番ポート開けねえのわかってたら、もっと早く解決できたのになぁ( ^ω^)・・・
(今現在は、8081番を使うことにしています。)
まあ、完成してよかったですよ。
次のミッションも頑張るぞい。

ということで今日は「進捗した」のお話でした、では今日はこの辺で。
それでは、また。
親子丼でした。


※今日の一言
 台風でも、市営地下鉄は止まらない、よね?()

広告を非表示にする