Last active
November 2, 2015 21:45
-
-
Save jacks205/f923e09e889d18f1a7b5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.jacks205.mediadatasourceexample; | |
import android.app.Activity; | |
import android.media.MediaPlayer; | |
import android.os.Bundle; | |
import android.view.SurfaceHolder; | |
import android.view.SurfaceView; | |
import java.io.IOException; | |
public class MainActivity extends Activity implements SurfaceHolder.Callback { | |
MediaPlayer mp; | |
boolean isPaused; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
SurfaceView surfaceView = (SurfaceView)findViewById(R.id.surface); | |
SurfaceHolder holder = surfaceView.getHolder(); | |
holder.addCallback(this); | |
mp = new MediaPlayer(); | |
isPaused = false; | |
} | |
@Override | |
public void surfaceCreated(SurfaceHolder holder) { | |
try { | |
mp.setDisplay(holder); | |
if(!isPaused) { | |
mp.setDataSource("https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear1/fileSequence0.ts"); | |
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { | |
@Override | |
public void onPrepared(MediaPlayer mp) { | |
mp.start(); | |
} | |
}); | |
mp.prepareAsync(); | |
}else { | |
mp.start(); | |
} | |
isPaused = false; | |
} catch (IOException io) { | |
} catch (IllegalStateException is){ | |
} | |
} | |
@Override | |
protected void onPause() { | |
super.onPause(); | |
if(mp.isPlaying() && !isPaused) { | |
mp.pause(); | |
isPaused = true; | |
} | |
} | |
@Override | |
protected void onDestroy() { | |
super.onDestroy(); | |
if(mp != null) { | |
mp.stop(); | |
mp.release(); | |
} | |
} | |
@Override | |
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { | |
} | |
@Override | |
public void surfaceDestroyed(SurfaceHolder holder) { | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment