Skip to content

Commit fa2f61b

Browse files
committed
implement minimal functionality in Movie class
Signed-off-by: Umair Khan <[email protected]>
1 parent b9809f4 commit fa2f61b

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

src/in/omerjerk/processing/video/android/Movie.java

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package in.omerjerk.processing.video.android;
22

3+
import java.io.IOException;
4+
5+
import javax.xml.stream.events.StartDocument;
6+
37
import in.omerjerk.processing.video.android.callbacks.MediaPlayerHandlerCallback;
8+
import android.drm.DrmStore.Playback;
49
import android.media.MediaMetadataRetriever;
510
import android.media.MediaPlayer;
11+
import android.net.Uri;
612
import android.os.Handler;
713
import android.os.HandlerThread;
814
import android.os.Looper;
@@ -14,6 +20,8 @@ public class Movie extends VideoBase implements MediaPlayerHandlerCallback {
1420

1521
private MediaPlayerHandler handler;
1622
private MediaPlayer player;
23+
24+
private boolean looping = false;
1725

1826
public Movie(PApplet parent, String fileName) {
1927
super(parent);
@@ -27,7 +35,15 @@ public Movie(PApplet parent, String fileName) {
2735
backgroundThread.start();
2836
handler = new MediaPlayerHandler(backgroundThread.getLooper());
2937
handler.setCallback(this);
30-
handler.sendMessage(handler.obtainMessage(MediaPlayerHandler.MSG_INIT_PLAYER));
38+
handler.sendMessage(handler.obtainMessage(MediaPlayerHandler.MSG_INIT_PLAYER, fileName));
39+
}
40+
41+
public void play() {
42+
handler.sendMessage(handler.obtainMessage(MediaPlayerHandler.MSG_START_PLAYER));
43+
}
44+
45+
public void loop() {
46+
looping = true;
3147
}
3248

3349
@Override
@@ -56,7 +72,8 @@ public void setCallback (MediaPlayerHandlerCallback cb) {
5672
public void handleMessage(Message msg) {
5773
switch (msg.what) {
5874
case MSG_INIT_PLAYER:
59-
callback.initPlayer();
75+
String fileName = (String) msg.obj;
76+
callback.initPlayer(fileName);
6077
break;
6178
case MSG_START_PLAYER:
6279
callback.startPlayer();
@@ -68,12 +85,20 @@ public void handleMessage(Message msg) {
6885
}
6986

7087
@Override
71-
public void initPlayer() {
88+
public void initPlayer(String fileName) {
7289
player = new MediaPlayer();
73-
player.setSurface(new Surface(mSurfaceTexture));
90+
try {
91+
player.setDataSource(activity, Uri.parse(fileName));
92+
player.setSurface(new Surface(mSurfaceTexture));
93+
player.setLooping(looping);
94+
player.prepare();
95+
} catch (Exception e) {
96+
e.printStackTrace();
97+
}
7498
}
7599

76100
@Override
77101
public void startPlayer() {
102+
player.start();
78103
}
79104
}

src/in/omerjerk/processing/video/android/callbacks/MediaPlayerHandlerCallback.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
public interface MediaPlayerHandlerCallback {
44
public void startPlayer();
5-
public void initPlayer();
5+
public void initPlayer(String fileName);
66
}

0 commit comments

Comments
 (0)