3D技術研究所Wiki > GwtAL

GwtALはBen Vanik氏が開発しているWebALのGWTライブラリです。

目次


GwtALとは

GwtALとはBen Vanik氏が開発しているWebALのGWTライブラリです。

GwtAL GitHub リポジトリ
https://github.com/npedotnet/GwtAL

WebAL GitHub リポジトリ
https://github.com/benvanik/WebAL

GwtALを始めるには

http://npedotnet.github.io/archives/gwtal-1.0.jar
をダウンロードしてgwt.xmlに以下を記述します。

1
<inherits name='net.npe.webal' />

http://npedotnet.github.io/archives/WebAL-debug-gwtal-1.0.js
をダウンロードしてhtmlへ追加します。

1
<script type="text/javascript" language="javascript" src="WebAL-debug-gwtal-1.0.js"></script>

1. WebALContextインスタンスを作成する

1
2
3
import net.npe.webal.WebALContext;

WebALContext al = WebALContext.getContext();

2. HTML5 AudioElementでWebALBufferインスタンスを作成する

1
2
3
4
5
6
7
8
9
10
import com.google.gwt.dom.client.AudioElement;
import com.google.gwt.dom.client.Document;
import net.npe.webal.WebALBuffer;

AudioElement audio = Document.get().createAudioElement();
audio.setPropertyString("type", AudioElement.TYPE_MP3);
audio.setSrc("https://github.com/benvanik/WebAL/blob/master/samples/content/invincible.mp3?raw=true");

WebALBuffer buffer = al.createBuffer();
al.bufferData(buffer, audio, false);

または

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.dom.client.AudioElement;
import com.google.gwt.dom.client.Document;
import net.npe.webal.WebALBuffer;

JsArray<AudioElement> audioArray = JavaScriptObject.createArray(2).cast();

AudioElement mp3 = Document.get().createAudioElement();
mp3.setPropertyString("type", AudioElement.TYPE_MP3);
mp3.setSrc("https://github.com/benvanik/WebAL/blob/master/samples/content/invincible.mp3?raw=true");
audioArray.set(0, mp3);

AudioElement ogg = Document.get().createAudioElement();
ogg.setPropertyString("type", AudioElement.TYPE_OGG);
ogg.setSrc("https://github.com/benvanik/WebAL/blob/master/samples/content/invincible.ogg?raw=true");
audioArray.set(1, ogg);

WebALBuffer buffer = al.createBuffer();
al.bufferData(buffer, audioArray, false);

3. WebALSourceインスタンスを作成して音を鳴らす

1
2
3
4
5
6
7
8
import net.npe.webal.WebALContext;
import net.npe.webal.WebALSource;

WebALSource source = al.createSource();
al.sourceBuffer(source, buffer);
al.sourceParameter(source, WebALContext.LOOPING, true);
al.sourceParameter(source, WebALContext.GAIN, 0.5);
al.sourcePlay(source);

詳細はサンプルコードを参照してください。
https://github.com/npedotnet/GwtAL/blob/master/sample/GwtALTest.java

オンラインデモページ
http://npe-net.appspot.com/gwtal/demo/index.html

GWT用への変更点

instanceof ArrayArray.isArray() メソッドへ変更しました。

1
- audioElement instanceof Array
1
+ Array.isArray(audioElement)

instanceof Audioinstanceof HTMLAudioElement へ変更しました。

1
- audioElement instanceof Audio
1
+ audioElement instanceof HTMLAudioElement

詳細は
http://npedotnet.github.io/archives/WebAL-debug-gwtal-1.0.js

http://benvanik.github.io/WebAL/lib/WebAL-debug.js
を比較して下さい。


関連ページ


スポンサードリンク

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS