159b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapackage com.jme3.audio.android; 259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.asset.AssetKey; 459b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.audio.AudioData; 559b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.audio.AudioRenderer; 659b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.util.NativeObject; 759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 859b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapublic class AndroidAudioData extends AudioData { 959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta protected AssetKey<?> assetKey; 1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta protected float currentVolume = 0f; 1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public AndroidAudioData(){ 1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta super(); 1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta protected AndroidAudioData(int id){ 1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta super(id); 1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public AssetKey<?> getAssetKey() { 2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta return assetKey; 2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public void setAssetKey(AssetKey<?> assetKey) { 2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta this.assetKey = assetKey; 2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 3059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public DataType getDataType() { 3159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta return DataType.Buffer; 3259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 3359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 3559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public float getDuration() { 3659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta return 0; // TODO: ??? 3759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 3859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 4059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public void resetObject() { 4159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta this.id = -1; 4259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta setUpdateNeeded(); 4359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 4459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 4659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public void deleteObject(Object rendererObject) { 4759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta ((AudioRenderer)rendererObject).deleteAudioData(this); 4859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 4959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 5059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public float getCurrentVolume() { 5159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta return currentVolume; 5259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 5359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 5459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public void setCurrentVolume(float currentVolume) { 5559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta this.currentVolume = currentVolume; 5659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 5759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 5859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 5959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public NativeObject createDestructableClone() { 6059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta return new AndroidAudioData(id); 6159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 6259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta} 63