Ajaxによる通信は長きに渡りXMLHttpRequest(XHR)で書かれていましたが、HTML5からFetchAPIが実装されずいぶんとシンプルに記述することが可能になりました。今回は基本的な使い方についてまとめておきたいと思います。
2020年 の投稿一覧
[HTML5] 音声の発生源をステレオで調整する – howler.js編
映画などの映像作品やゲームでは、左で発生した音は左側のスピーカーから、右側の音は右側のスピーカーから強く出力した方が臨場感が増すため日常的に利用されています。HTML5ではWebAudioAPIを簡単に扱えるHowler.jsで手軽に実現することができます。
続きを読む
[HTML5] 複数の音声ファイルを1つにまとめる AudioSprite – howler.js編
複数の画像を1枚にまとめるCSSスプライトはかなり前から利用されていますが、今回はその音声ファイル版である「AudioSprite」を作成してみます。
音声ファイルの作成にはNode.jsのモジュール「audiosprite」を、再生には「Howler.js」を利用します。
続きを読む
[HTML5] 音声再生中に再生時間を表示する – howler.js編
WebAudioAPIを簡単に扱えるHowler.jsにはtimeupdate
イベントがありません。もし再生時間に合わせて何らかの処理を行う場合には自分でがんばる必要があります。今回はsetInterval()
を使ってかんたんな実装を行ってみます。
続きを読む
[HTML5] 音声ファイルをJSで再生/停止する – howler.js編
以前取り上げた通り、音声ファイルを再生したり止めるだけであれば<audio>
タグとJavaScriptの組み合わせで簡単に実現できるのですが、一歩踏み込んだことをしようと思うと様々な罠が襲いかかりもだえ苦しむことになりますw WebAudioAPIを使えばあらゆることが自由自在に出来ますがこいつは学習コストが半端なく使い始めるにはそれ相応の覚悟がいります。
というわけで、若干凝ったことをしたいがWebAudioAPIは避けて通りたい場合には迷うことなく便利ライブラリを使うのがオススメ。今回はこの手の用途ではお約束な「howler.js」を利用します。
続きを読む
[WordPress] ログイン画面のURLを「wp-login.php」から変更する
WORDPRESSはログインページが「wp-login.php」、ダッシュボードが「wp-admin」と固定で変更もできないため、クラックしようと思うとドメイン名に続けてこれらを指定すれば簡単に総当たり攻撃が出来てしまいます。
WORDPRESSの公式から提供されているプラグイン「Jetpack」を利用していれば、不正なログインをある程度は防御してくれるのですが、ダッシュボードの数値が積もり積もってくると非常に不安になってきますw
そこで今回は「ピンポンダッシュ」を防ぐために、「wp-login」のURLを変更してくれるプラグイン「WPS Hide Login」を入れてみます。
続きを読む
[HTML5] 音声をフェードイン・フェードアウトする – audioタグ編
今回は音声ファイルを音量が徐々に上がっていく「フェードイン」する形で再生を開始、逆に音量が徐々に下がっていく「フェードアウト」し再生を終了することに挑戦してみます。
通常は以下のようにplay()
で開始するわけですが、これだと音量MAXで始まってしまうため唐突感が生まれてしまう場合があります。停止する際にpause()
を実行する場合も同様です。それぞれ「カットイン」「カットアウト」と呼ばれますが、意図したものであればもちろんこれで問題はありません。
<audio id="bgm" src="xxx.mp3" preload></audio>
<script>
document.querySelector("#bgm").play(): // 唐突に再生される(カットイン)
document.querySelector("#bgm").pause(): // 唐突に止まる(カットアウト)
</script>
SE(効果音)やジングルなんかはカットインがほとんどですが、しんみりした雰囲気をBGMで出したい場合はフェードイン/フェードアウトを多用することになりますね。
この方法はiPhoneやiPadなどiOSのWebブラウザでは利用できません。もし対応する場合にはWebAudioAPIを採用する必要があります。
[Quora] AWSやGCPなどのデータセンターが東京や大阪に集中するのはなぜ?
Quora回答シリーズです。
質問
MS、AWS、Google、オラクルなどのプラットフォーマーが大阪へリージョンを立てていますが、何故大阪と東京なのでしょうか?もう少し地方の方が土地代も安いし、災害にも強い場所があると思うのですが。
https://qr.ae/pXtqlk
地方に建てる事例もあるのですが、確かに巷で話題のクラウドは概ね東京や大阪に集中してますよね。
[HTML5] Canvasを画像に変換しサーバへ送信する
Canvasに描画した内容を画像としてサーバへ送信し、そのままサーバに保存してみます。
今回は入力したテキストがそのままCanvasに描画される簡単なサンプルを用意しました。文字色と背景色もおまけで変更できます。もう少し頑張るとバナー画像ジェネレーターとか作れそうですね。
サーバ側のプログラムはPHPを採用していますが、他の言語でも似たような処理になります。
続きを読む
[HTML5] 音声ファイルの事前ダウンロード – audioタグ編
前回はaudioタグをJavaScriptで操作しましたが、事前にダウンロードが完了した状態で再生を開始することができませんでした。例えばボタンをクリックした瞬間に鳴らす場合にラグが発生したり、再生途中で停止(ダウンロード待ち)する恐れがあります。今回はダウンロードが完了しないと音声が再生できないような処理を追加します。
この手の処理はWebAudioAPIを用いたサンプルがネット上には転がっていますが、単にダウンロードされたことを検知したいだけで利用するには気が重いというか正直などころ面倒なので、前回同様audioタグを活かす方向で作成します。
続きを読む
[HTML5] 音声ファイルをJSで再生/停止する – audioタグ編
HTML5で音声を再生するには単純にaudio
タグを使うだけで実現できますが、今回はJavaScriptから再生や停止をコントロールしたいと思います。
続きを読む
[Quora] 体内に埋め込むデバイスってどうなの?
Quora回答シリーズです。
質問
体内に埋め込むタイプのチップや機器「インプランタブル(埋め込み型)」デバイスをどう思いますか?身体的にも時間の自由を必要以上に奪うスマホに不自由を感じているからです。
https://qr.ae/T64UiL
現代では抵抗のある人の方が多いのだろうけど、数十年後にはみんな当たり前のようにやってる気がするんですよね。
続きを読む
[Quora] AWSでDBを構築するならどのサービス?
Quora回答シリーズです。
質問
MariaDBなどのデータベースを構築する際にAWSのどのサービスを利用するべきでしょうか?
https://qr.ae/T64Mpu
いつものことだけどもう少し情報をくれw!
続きを読む
[Quora] なぜAndroidより高額なiPhoneを買うの?
Quora回答シリーズです。
質問
なぜAndroidじゃなくて、高いiPhoneを買う人が多いのですか?
https://qr.ae/T64CjP
機能的に優れている点やキャリアの販売方法などは他の方が回答されていたので、主にマーケティングよりの回答にしました。日本特有の事情ですね。
続きを読む
[GAS] Gmailで一定期間経過したメールを自動で既読&アーカイブ
Google Apps Scriptを利用して、GMailのメールを自動的に既読&アーカイブします。
きっかけとしてはGoogleカレンダーから毎日送られてくる「本日の予定メール」なんですが、件名を見るだけで大体把握できてしまうためほとんど開かないんですよね。でも毎日送って欲しい。すると未読メールがどんどんたまっていくの気持ち悪い…が自分で定期的にアーカイブするのは面倒。というわけで自動化することにしたというわけです。
我ながら怠惰すぎるw
続きを読む