Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.IOException;
- import android.app.Activity;
- import android.media.AudioManager;
- import android.media.MediaPlayer;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Toast;
- public class SportsActivity extends Activity implements OnClickListener{
- MediaPlayer mp;
- boolean isPlaying = false;
- String liveStreamPath = "http://ice2.securenetsystems.net/WHBRM";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setContentView(R.layout.splashscreen);
- setVolumeControlStream(AudioManager.STREAM_MUSIC);
- super.onCreate(savedInstanceState);
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- try{
- return getParent().onKeyDown(keyCode, event);
- }catch(NullPointerException e){
- return super.onKeyDown(keyCode, event);
- }
- }
- @Override
- protected void onPause() {
- if(isPlaying) toggleLiveStream();
- super.onPause();
- }
- public void setLayout(int id){
- setContentView(id);
- if(id == R.layout.listenlayout){
- findViewById(R.id.playbarbutton1).setOnClickListener(this);
- }
- }
- @Override
- public void onClick(View v) {
- if(v.equals(findViewById(R.id.playbarbutton1))){
- toggleLiveStream();
- }
- }
- private void initMP() {
- mp = new MediaPlayer();
- if (mp != null){
- mp.setOnPreparedListener(preparedListener);
- mp.setOnErrorListener(errorListener);
- mp.setOnInfoListener(infoListerner);
- mp.setOnBufferingUpdateListener(bufferUpdateListener);
- mp.reset();
- try {
- mp.setDataSource(liveStreamPath);
- mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
- mp.setLooping(true);
- } catch (IllegalArgumentException e) {
- Toast.makeText(getApplicationContext(), "Could not init media player " + e.toString(), Toast.LENGTH_LONG).show();
- e.printStackTrace();
- return;
- } catch (IllegalStateException e) {
- Toast.makeText(getApplicationContext(), "Could not init media player " + e.toString(), Toast.LENGTH_LONG).show();
- e.printStackTrace();
- return;
- } catch (IOException e) {
- Toast.makeText(getApplicationContext(), "Could not init media player " + e.toString(), Toast.LENGTH_LONG).show();
- e.printStackTrace();
- return;
- }
- try{
- mp.prepareAsync();
- }catch(IllegalStateException e){
- Toast.makeText(getApplicationContext(), "Could not prepare media player "+ e.toString(), Toast.LENGTH_SHORT).show();
- return;
- }
- }
- else{
- Toast.makeText(getApplicationContext(), "Could not init media player", Toast.LENGTH_LONG).show();
- }
- }
- private void toggleLiveStream() {
- if(isPlaying){
- if(mp!=null){
- try{
- if(mp.isPlaying()){
- mp.pause();
- mp.stop();
- }
- }catch(IllegalStateException e){
- Log.e("810", e.toString());
- }
- }
- }
- else{
- try{
- initMP();
- }catch(IllegalStateException e){
- Log.e("810", e.toString());
- mp = null;
- }
- }
- isPlaying = !isPlaying;
- }
- MediaPlayer.OnPreparedListener preparedListener = new MediaPlayer.OnPreparedListener() {
- @Override
- public void onPrepared(MediaPlayer mp) {
- mp.start();
- }
- };
- MediaPlayer.OnInfoListener infoListerner = new MediaPlayer.OnInfoListener() {
- @Override
- public boolean onInfo(MediaPlayer mp, int what, int extra) {
- if(what == MediaPlayer.MEDIA_INFO_NOT_SEEKABLE){
- Log.d("810", "Media not seekable");
- return true;
- }
- else return false;
- }
- };
- MediaPlayer.OnBufferingUpdateListener bufferUpdateListener = new MediaPlayer.OnBufferingUpdateListener() {
- @Override
- public void onBufferingUpdate(MediaPlayer mp, int percent) {
- Toast.makeText(getApplicationContext(), "buffering " + percent + " complete", Toast.LENGTH_SHORT).show();
- }
- };
- MediaPlayer.OnErrorListener errorListener = new MediaPlayer.OnErrorListener() {
- @Override
- public boolean onError(MediaPlayer mp, int what, int extra) {
- if(what == MediaPlayer.MEDIA_ERROR_UNKNOWN){
- Log.d("810","Media player error " + what);
- isPlaying = false;
- toggleLiveStream();
- }
- Log.d("810","Media player error " + what);
- return false;
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement