javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5SoundEnvironment.java
1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5SoundEnvironment.java Tue May 28 13:26:37 2013 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,75 +0,0 @@
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 -}