MediaPlayer: implement using GtkMediaStream

This commit is contained in:
Mis012
2025-03-04 17:46:49 +01:00
parent c31ed5e878
commit 74f2e9f308
4 changed files with 135 additions and 3 deletions

View File

@@ -4,7 +4,10 @@ import android.content.Context;
import java.io.FileDescriptor;
public class MediaPlayer {
private long gtk_media_stream;
public interface OnCompletionListener {
void onCompletion(MediaPlayer media_player);
}
public interface OnErrorListener {
}
@@ -23,19 +26,44 @@ public class MediaPlayer {
public static MediaPlayer create(Context context, int dummy) { return new MediaPlayer(); }
public void setDataSource(FileDescriptor src, long dummy, long dummy2) {}
public void setDataSource(FileDescriptor src, long offset, long length) {}
public void setDataSource(String path) {
gtk_media_stream = native_setDataSource(path);
}
public void setLooping(boolean dummy) {}
public void setOnCompletionListener(MediaPlayer.OnCompletionListener dummy) {}
public void setOnCompletionListener(MediaPlayer.OnCompletionListener listener) {
native_setOnCompletionListener(gtk_media_stream, listener);
}
public void setOnErrorListener(MediaPlayer.OnErrorListener dummy) {}
public void setOnPreparedListener(MediaPlayer.OnPreparedListener dummy) {}
public void setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener dummy) {}
public void setOnInfoListener(MediaPlayer.OnInfoListener dummy) {}
public void setOnSeekCompleteListener(MediaPlayer.OnSeekCompleteListener dummy) {}
public void setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListener dummy) {}
public void setAudioAttributes(AudioAttributes attributes) {}
public void setAudioStreamType(int dummy) {}
public void start() {}
public void start() {
native_start(gtk_media_stream);
}
public void stop() {}
public void pause() {}
public void prepare() {
native_prepare(gtk_media_stream);
}
public void prepareAsync() {}
public void reset() {}
public void release() {}
public static native void native_prepare(long gtk_media_stream);
public native long native_setDataSource(String path);
public static native void native_setOnCompletionListener(long gtk_media_stream, MediaPlayer.OnCompletionListener listener);
public static native void native_start(long gtk_media_stream);
}