JSNIを使用してGWTでphonegapオーディオAPIを使用したいと思います。JSNIでメソッドをコーディングする方法を理解できません。gwtでphonegapオーディオAPIを使用する
誰もがチュートリアルを知っているかどうかわかりません。これらのjavascriptメソッドはとても簡単です。
http://docs.phonegap.com/phonegap_media_media.md.html
JSNIを使用してGWTでphonegapオーディオAPIを使用したいと思います。JSNIでメソッドをコーディングする方法を理解できません。gwtでphonegapオーディオAPIを使用する
誰もがチュートリアルを知っているかどうかわかりません。これらのjavascriptメソッドはとても簡単です。
http://docs.phonegap.com/phonegap_media_media.md.html
それはこのようなものになるだろうように基本的には聞こえる:
public final class Media extends JavaScriptObject {
protected Media() {}
public static native final Media newInstance(String src, Command command) /*-{
var callback = function() { command.execute(); };
return new Media(src, callback);
}-*/;
public native final void getCurrentPosition(AsyncCallback<String> command) /*-{
var callback = function(position) { command.onSuccess('' + position); };
this.getCurrentPosition(callback);
}-*/;
public native final void play() /*-{
this.play();
}-*/;
//... more methods here
}
使用法:
Media m = Media.newInstance("http://www.example.com/src.mp3", new Command() {
@Override
public void execute() {
// Code executed after Media is created.
}
});
m.getCurrentPosition(new AsyncCallback<String>() {
@Override
public void onSuccess(String position) {
Window.alert(position);
}
});
m.play();
あなたはタイプがいるかについての詳細を知っていれば、ラフスケッチですあなたがint
または別のJSオーバーレイタイプであるように、より良いことをすることができるということがコールバックに渡されました。
APIはすべて非同期であると思われますが、それは人生です。
GWT JSNIバインディングを作成すると、かなり簡単になります。
GWTラッパーライブラリをオープンソース化すれば、他のGWT開発者がiPhone/Androidアプリを書くことができるようになります。私はちょうど私がコードが
はまだあなたのanswer.Theサイトが認識しない受け入れることはできません:-)私には本当に外国に見えるguess.Thatこれを正しく行うにはかなりのように精通していないですreally.I playメソッドを必要とする
私はそれは奇妙です。私のonModuleLoad
コンストラクタTESTPHONEGAP.Mediaでメディアを使用しようとすると
は、私は次のエラーを取得する(文字列、新しいコマンド(){})は、としてあなたのクラスを使用して
Media m = new Media("test.mp3", new Command() {
@Override
public void execute() {
}
});
m.play()
定義されていません私のメインのonModuleLoadと同じファイル内の "内部クラス"
これはサイトが私を認識していないことが奇妙です。私は上記の回答も受け入れるよう努めています。 – james
サンプルが正しくありませんでした。コンストラクタが正しくない場合は、代わりに 'newInstance()'を使用してください。 –
新しい回答ではなく、コメントを使用して回答にお答えください。私の答えの一番下にある「コメントを追加」をクリックしてください。 –
'play()'メソッドの追加例です。これはパラメータを取らないので最も簡単です。 –