Advertisement
Guest User

Untitled

a guest
Jun 30th, 2010
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.26 KB | None | 0 0
  1. import java.io.IOException;
  2.  
  3. import android.app.Activity;
  4. import android.media.AudioManager;
  5. import android.media.MediaPlayer;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.KeyEvent;
  9. import android.view.View;
  10. import android.view.View.OnClickListener;
  11. import android.widget.Toast;
  12.  
  13. public class SportsActivity extends Activity implements OnClickListener{
  14.  
  15.     MediaPlayer mp;
  16.     boolean isPlaying = false;
  17.     String liveStreamPath = "http://ice2.securenetsystems.net/WHBRM";
  18.    
  19.     @Override
  20.     protected void onCreate(Bundle savedInstanceState) {
  21.         setContentView(R.layout.splashscreen);
  22.         setVolumeControlStream(AudioManager.STREAM_MUSIC);
  23.         super.onCreate(savedInstanceState);
  24.     }
  25.     @Override
  26.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  27.         try{
  28.             return getParent().onKeyDown(keyCode, event);
  29.         }catch(NullPointerException e){
  30.             return super.onKeyDown(keyCode, event);
  31.         }
  32.     }
  33.     @Override
  34.     protected void onPause() {
  35.         if(isPlaying) toggleLiveStream();
  36.         super.onPause();
  37.     }
  38.     public void setLayout(int id){
  39.         setContentView(id);
  40.         if(id == R.layout.listenlayout){
  41.             findViewById(R.id.playbarbutton1).setOnClickListener(this);
  42.         }
  43.     }
  44.     @Override
  45.     public void onClick(View v) {
  46.         if(v.equals(findViewById(R.id.playbarbutton1))){
  47.             toggleLiveStream();
  48.         }
  49.        
  50.     }
  51.     private void initMP() {
  52.         mp = new MediaPlayer();
  53.         if (mp != null){
  54.             mp.setOnPreparedListener(preparedListener);
  55.             mp.setOnErrorListener(errorListener);
  56.             mp.setOnInfoListener(infoListerner);
  57.             mp.setOnBufferingUpdateListener(bufferUpdateListener);
  58.             mp.reset();
  59.             try {
  60.                 mp.setDataSource(liveStreamPath);
  61.                 mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
  62.                 mp.setLooping(true);
  63.             } catch (IllegalArgumentException e) {
  64.                 Toast.makeText(getApplicationContext(), "Could not init media player " + e.toString(), Toast.LENGTH_LONG).show();
  65.                 e.printStackTrace();
  66.                 return;
  67.             } catch (IllegalStateException e) {
  68.                 Toast.makeText(getApplicationContext(), "Could not init media player " + e.toString(), Toast.LENGTH_LONG).show();
  69.                 e.printStackTrace();
  70.                 return;
  71.             } catch (IOException e) {
  72.                 Toast.makeText(getApplicationContext(), "Could not init media player " + e.toString(), Toast.LENGTH_LONG).show();
  73.                 e.printStackTrace();
  74.                 return;
  75.             }
  76.             try{
  77.                 mp.prepareAsync();
  78.             }catch(IllegalStateException e){
  79.                 Toast.makeText(getApplicationContext(), "Could not prepare media player "+ e.toString(), Toast.LENGTH_SHORT).show();
  80.                 return;
  81.             }
  82.         }
  83.         else{
  84.             Toast.makeText(getApplicationContext(), "Could not init media player", Toast.LENGTH_LONG).show();
  85.         }
  86.        
  87.     }
  88.     private void toggleLiveStream() {
  89.         if(isPlaying){
  90.             if(mp!=null){
  91.                 try{
  92.                     if(mp.isPlaying()){
  93.                         mp.pause();
  94.                         mp.stop();
  95.                     }
  96.                 }catch(IllegalStateException e){
  97.                     Log.e("810", e.toString());
  98.                 }
  99.             }
  100.         }
  101.         else{
  102.                 try{
  103.                     initMP();
  104.                 }catch(IllegalStateException e){
  105.                     Log.e("810", e.toString());
  106.                     mp = null;
  107.                 }
  108.            
  109.         }
  110.         isPlaying = !isPlaying;
  111.     }
  112.  
  113.    
  114.     MediaPlayer.OnPreparedListener preparedListener = new MediaPlayer.OnPreparedListener() {
  115.        
  116.         @Override
  117.         public void onPrepared(MediaPlayer mp) {
  118.             mp.start();
  119.         }
  120.     };
  121.    
  122.     MediaPlayer.OnInfoListener infoListerner = new MediaPlayer.OnInfoListener() {
  123.        
  124.         @Override
  125.         public boolean onInfo(MediaPlayer mp, int what, int extra) {
  126.             if(what == MediaPlayer.MEDIA_INFO_NOT_SEEKABLE){
  127.                 Log.d("810", "Media not seekable");
  128.                 return true;
  129.             }
  130.             else return false;
  131.         }
  132.     };
  133.    
  134.     MediaPlayer.OnBufferingUpdateListener bufferUpdateListener = new MediaPlayer.OnBufferingUpdateListener() {
  135.        
  136.         @Override
  137.         public void onBufferingUpdate(MediaPlayer mp, int percent) {
  138.             Toast.makeText(getApplicationContext(), "buffering " + percent + " complete", Toast.LENGTH_SHORT).show();
  139.              
  140.         }
  141.     };
  142.    
  143.     MediaPlayer.OnErrorListener errorListener = new MediaPlayer.OnErrorListener() {
  144.        
  145.         @Override
  146.         public boolean onError(MediaPlayer mp, int what, int extra) {
  147.             if(what == MediaPlayer.MEDIA_ERROR_UNKNOWN){
  148.                 Log.d("810","Media player error " + what);
  149.                 isPlaying = false;
  150.                 toggleLiveStream();
  151.             }
  152.             Log.d("810","Media player error " + what);
  153.             return false;
  154.         }
  155.     };
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement