1 /** 2 * 3 */ 4 package org.linphone.core; 5 6 /** 7 * @author François Grisez 8 * 9 */ 10 public class LinphonePlayerImpl implements LinphonePlayer { 11 private long nativePtr = 0; 12 LinphonePlayerImpl(long nativePtr)13 LinphonePlayerImpl(long nativePtr) { 14 this.nativePtr = nativePtr; 15 } 16 open(long nativePtr, String filename)17 private native int open(long nativePtr, String filename); 18 @Override open(String filename)19 public synchronized int open(String filename) { 20 return open(nativePtr, filename); 21 } 22 start(long nativePtr)23 private native int start(long nativePtr); 24 @Override start()25 public synchronized int start() { 26 return start(nativePtr); 27 } 28 pause(long nativePtr)29 private native int pause(long nativePtr); 30 @Override pause()31 public synchronized int pause() { 32 return pause(nativePtr); 33 } 34 seek(long nativePtr, int timeMs)35 private native int seek(long nativePtr, int timeMs); 36 @Override seek(int timeMs)37 public synchronized int seek(int timeMs) { 38 return seek(nativePtr, timeMs); 39 } 40 getState(long nativePtr)41 private native int getState(long nativePtr); 42 @Override getState()43 public synchronized State getState() { 44 return LinphonePlayer.State.fromValue(getState(nativePtr)); 45 } 46 getDuration(long nativePtr)47 private native int getDuration(long nativePtr); 48 @Override getDuration()49 public synchronized int getDuration() { 50 return getDuration(nativePtr); 51 } 52 getCurrentPosition(long nativePtr)53 private native int getCurrentPosition(long nativePtr); 54 @Override getCurrentPosition()55 public synchronized int getCurrentPosition() { 56 return getCurrentPosition(nativePtr); 57 } 58 close(long nativePtr)59 private native void close(long nativePtr); 60 @Override close()61 public synchronized void close() { 62 close(nativePtr); 63 } 64 destroy(long nativePtr)65 private native void destroy(long nativePtr); 66 @Override finalize()67 protected void finalize() { 68 destroy(nativePtr); 69 } 70 } 71