BT

オーディオライブラリHowler.js 2.0リリース

| 作者: James Chesters フォローする 1 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年8月1日. 推定読書時間: 3 分 |

原文(投稿日:2016/07/26)へのリンク

JavaScriptオーディオライブラリのHowler.jsがバージョン2.0になった。今回のアップデートには「多数の機能追加と改善」が含まれている。

Howler.jsの作者でゲーム開発スタジオGoldfire Studiosの創設者でもあるJames Simpson氏によると、今回のリリースはHowlerの「完全な書き直し」で、HTML5およびWeb Audioと完全互換になるという。このリリースは何十人ものコントリビューターのおかげだ。

Simpson氏はブログ記事「Howler.js v2.0 Released」において、howler.jsは「モジュラーライブラリ」になると説明した。その無駄のないcoreは、大きなWeb Audio APIで利用できる各種ツール(空間音響、フィルターなど)のような高度な機能の追加拡張を可能にする。

「Howler.jsはモジュール化されました。そのcoreはhowler.jsの当初の目標を表しています」とSimpson氏は語る。また、そのspatialプラグインはWeb Audio APIによる空間およびステレオ音響をサポートする。

バージョン2.0における最大の変更は、1.xにあった大きな苦痛の解決にある。3層構造を導入することで、複数サウンドの再生における混乱を解消する。

howler.jsにおけるオーディオの考え方の変更について、Simpson氏はこう語る。

グローバル (Howler)、グループ (Howl)、単一サウンド (Sound)という概念があります。再生される各サウンドは、再生制御やスプライトの使用有無のオプションを指定して、操作可能なSoundオブジェクトを取得します。Howlメソッド呼び出しは、グループ内の1つもしくはすべてのサウンドに適用することができます。
Howler (global) ->
        Howl (group) ->
               Sound (single)

さらに、今回のメジャーアップグレードの新しいメソッドには、発火時に自動的に自らを削除するイベントリスナーを設定するためのonce、指定したサウンドが再生中であればtrueを返すplaying、オーディオソースの長さを返すduration、Howlのロード状態を返すstate、すべてのアクティブなHowlをアンロードし、AudioContextをリセットしてメモリをクリアする新しいグローバルなunloadメソッドなどがある。

Howlerの2.0リリースには、待ち望まれたDolby AudioとCAFFオーディオファイルの再生サポートや、.webaに加えて.webm拡張子のサポートも含まれる。

また多数のバグ修正も含まれている。extオプションが改善され、ストリーム再生(SoundCloudが例として挙げられている)に使えるようになる。unloadメソッド使用時の潜在的なメモリリークも修正されており、HTTPSページにおけるHTTPファイルロード時には、HTML5 Audioにフォールバックされるようになる。

2.0には破壊的変更も含まれている。playメソッドはもはやコールバックを受け取らず、即座に再生サウンドidを返すようになる。Simpson氏によると、これによりplayメソッドはチェーンできなくなるが、それ以外はすべて同じように動くという。

// 特定の再生サウンドidを取得する
var id = sound.play();

// 再生をポーズする
sound.pause(id);

また、非推奨のfadeInfadeOutメソッドが削除され、代わりにfadeメソッドを使うようになる。

// フェードインする
sound.fade(0, 1, 1000);

// 前のフェードインが終了したらフェードアウト
sound.once('fade', function(){
  sound.fade(1, 0, 1000);
});

howler.js 2.0の変更一覧はここにある。Howler.jsはMITライセンスでリリースされており、Google、Disney、Lego、Mozilla、NASAなどで使われている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT