1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5AudioEnvironment.java Tue May 28 13:27:34 2013 +0200
1.3 @@ -0,0 +1,75 @@
1.4 +/*
1.5 + * To change this template, choose Tools | Templates
1.6 + * and open the template in the editor.
1.7 + */
1.8 +package org.apidesign.bck2brwsr.htmlpage;
1.9 +
1.10 +import net.java.html.sound.AudioClip;
1.11 +import org.apidesign.bck2brwsr.core.JavaScriptBody;
1.12 +import org.apidesign.html.sound.spi.AudioEnvironment;
1.13 +
1.14 +/**
1.15 + *
1.16 + * @author antonepple
1.17 + */
1.18 +public class HTML5AudioEnvironment implements AudioEnvironment {
1.19 +
1.20 + @Override
1.21 + public Object play(AudioClip clip, Object nativeClip) {
1.22 + if (nativeClip == null) {
1.23 + nativeClip = createNativeCLip(clip.getSource());
1.24 + }
1.25 + playImpl(nativeClip);
1.26 + return nativeClip;
1.27 + }
1.28 +
1.29 + @Override
1.30 + public Object pause(AudioClip aThis, Object nativeClip) {
1.31 + if (nativeClip == null) {
1.32 + return null; // only can pause a cached clip
1.33 + }
1.34 + pauseImpl(nativeClip);
1.35 + return nativeClip;
1.36 + }
1.37 +
1.38 + @Override
1.39 + public Object stop(AudioClip aThis, Object nativeClip) {
1.40 + if (nativeClip == null) {
1.41 + return null; // only can stop a cached clip
1.42 + }
1.43 + stopImpl(nativeClip);
1.44 + return nativeClip;
1.45 + }
1.46 +
1.47 + @Override
1.48 + public Object setVolume(AudioClip aThis, int volume, Object cached) {
1.49 + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
1.50 + }
1.51 +
1.52 + @Override
1.53 + public Object playFrom(AudioClip clip, int seconds, Object nativeClip) {
1.54 + if (nativeClip == null) {
1.55 + nativeClip = createNativeCLip(clip.getSource());
1.56 + }
1.57 + playFromImpl(nativeClip);
1.58 + return nativeClip;
1.59 + }
1.60 +
1.61 + @JavaScriptBody(args = "nativeClip", body = "nativeClip.play()")
1.62 + private native void playImpl(Object nativeClip);
1.63 +
1.64 + @JavaScriptBody(args = "nativeClip", body = "nativeClip.pause(), nativeClip.currentTime=0;")
1.65 + private void stopImpl(Object nativeClip) {
1.66 + }
1.67 +
1.68 + @JavaScriptBody(args = "nativeClip", body = "nativeClip.pause();")
1.69 + private void pauseImpl(Object nativeClip) {
1.70 + }
1.71 +
1.72 + @JavaScriptBody(args = "nativeClip", body = "nativeClip.currentTime=0; nativeClip.play();")
1.73 + private void playFromImpl(Object nativeClip) {
1.74 + }
1.75 +
1.76 + @JavaScriptBody(args = {"src"}, body = "var clip = new Audio();clip.src=src; return clip;")
1.77 + private native Object createNativeCLip(String src);
1.78 +}
2.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5SoundEnvironment.java Tue May 28 13:26:37 2013 +0200
2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
2.3 @@ -1,75 +0,0 @@
2.4 -/*
2.5 - * To change this template, choose Tools | Templates
2.6 - * and open the template in the editor.
2.7 - */
2.8 -package org.apidesign.bck2brwsr.htmlpage;
2.9 -
2.10 -import net.java.html.sound.AudioClip;
2.11 -import org.apidesign.bck2brwsr.core.JavaScriptBody;
2.12 -import org.apidesign.html.sound.spi.AudioEnvironment;
2.13 -
2.14 -/**
2.15 - *
2.16 - * @author antonepple
2.17 - */
2.18 -public class HTML5AudioEnvironment implements AudioEnvironment {
2.19 -
2.20 - @Override
2.21 - public Object play(AudioClip clip, Object nativeClip) {
2.22 - if (nativeClip == null) {
2.23 - nativeClip = createNativeCLip(clip.getSource());
2.24 - }
2.25 - playImpl(nativeClip);
2.26 - return nativeClip;
2.27 - }
2.28 -
2.29 - @Override
2.30 - public Object pause(AudioClip aThis, Object nativeClip) {
2.31 - if (nativeClip == null) {
2.32 - return null; // only can pause a cached clip
2.33 - }
2.34 - pauseImpl(nativeClip);
2.35 - return nativeClip;
2.36 - }
2.37 -
2.38 - @Override
2.39 - public Object stop(AudioClip aThis, Object nativeClip) {
2.40 - if (nativeClip == null) {
2.41 - return null; // only can stop a cached clip
2.42 - }
2.43 - stopImpl(nativeClip);
2.44 - return nativeClip;
2.45 - }
2.46 -
2.47 - @Override
2.48 - public Object setVolume(AudioClip aThis, int volume, Object cached) {
2.49 - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
2.50 - }
2.51 -
2.52 - @Override
2.53 - public Object playFrom(AudioClip clip, int seconds, Object nativeClip) {
2.54 - if (nativeClip == null) {
2.55 - nativeClip = createNativeCLip(clip.getSource());
2.56 - }
2.57 - playFromImpl(nativeClip);
2.58 - return nativeClip;
2.59 - }
2.60 -
2.61 - @JavaScriptBody(args = "nativeClip", body = "nativeClip.play()")
2.62 - private native void playImpl(Object nativeClip);
2.63 -
2.64 - @JavaScriptBody(args = "nativeClip", body = "nativeClip.pause(), nativeClip.currentTime=0;")
2.65 - private void stopImpl(Object nativeClip) {
2.66 - }
2.67 -
2.68 - @JavaScriptBody(args = "nativeClip", body = "nativeClip.pause();")
2.69 - private void pauseImpl(Object nativeClip) {
2.70 - }
2.71 -
2.72 - @JavaScriptBody(args = "nativeClip", body = "nativeClip.currentTime=0; nativeClip.play();")
2.73 - private void playFromImpl(Object nativeClip) {
2.74 - }
2.75 -
2.76 - @JavaScriptBody(args = {"src"}, body = "var clip = new Audio();clip.src=src; return clip;")
2.77 - private native Object createNativeCLip(String src);
2.78 -}