EX07_10.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:7k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex07_10;
  2. import java.io.IOException; 
  3. import android.app.Activity; 
  4. import android.media.MediaPlayer; 
  5. import android.media.MediaPlayer.OnCompletionListener; 
  6. import android.os.Bundle; 
  7. import android.view.View; 
  8. import android.widget.ImageButton;
  9. import android.widget.ImageView;
  10. import android.widget.TextView; 
  11. public class EX07_10 extends Activity 
  12.   private ImageButton mPause, mNext, mBefore, mStart, mStop;
  13.   private TextView mTextView1; 
  14.   private ImageView mImageView1; 
  15.   /*设置bIsReleased一开始为false */
  16.   private boolean bIsReleased = false;
  17.   /*设置bIsPaused一开始为false */
  18.   private boolean bIsPaused = false; 
  19.   public MediaPlayer myPlayer1 = new MediaPlayer();
  20.     
  21.   /** Called when the activity is first created. */ 
  22.   @Override 
  23.   public void onCreate(Bundle savedInstanceState) 
  24.   { 
  25.     super.onCreate(savedInstanceState); 
  26.     setContentView(R.layout.main); 
  27.      
  28.     mStart = (ImageButton) findViewById(R.id.myImageButton1); 
  29.     mStop = (ImageButton) findViewById(R.id.myImageButton2);
  30.     mPause = (ImageButton) findViewById(R.id.pause); 
  31.     mNext = (ImageButton) findViewById(R.id.next);
  32.     mBefore = (ImageButton) findViewById(R.id.before); 
  33.     mImageView1 = (ImageView) findViewById(R.id.myImageView1);
  34.     mTextView1 = (TextView) findViewById(R.id.myTextView1); 
  35.  
  36.     /*开始按钮 */
  37.     mStart.setOnClickListener(new ImageButton.OnClickListener() 
  38.     { 
  39.       @Override 
  40.       public void onClick(View v) 
  41.       { 
  42.         // TODO Auto-generated method stub 
  43.         mStart.setImageResource(R.drawable.stars);
  44.         mImageView1.setImageResource(R.drawable.dance);
  45.         mPause.setImageResource(R.drawable.pause);
  46.         
  47.         try 
  48.         { 
  49.           if(myPlayer1.isPlaying()==true) 
  50.           {
  51.             /*把 MediaPlayer重设*/
  52.             myPlayer1.reset();
  53.           }
  54.           /*设置 MediaPlayer读取SDcard的文件*/
  55.           myPlayer1.setDataSource( "/sdcard/aaaa.mp3" );
  56.           myPlayer1.prepare();
  57.           /*把 MediaPlayer开始播放*/
  58.           myPlayer1.start(); 
  59.           mTextView1.setText(R.string.str_start); 
  60.         } 
  61.         catch (IllegalStateException e) 
  62.         { 
  63.           // TODO Auto-generated catch block 
  64.           mTextView1.setText(e.toString()); 
  65.           e.printStackTrace(); 
  66.         } 
  67.         catch (IOException e) 
  68.         { 
  69.           // TODO Auto-generated catch block 
  70.           mTextView1.setText(e.toString()); 
  71.           e.printStackTrace(); 
  72.         } 
  73.          
  74.         /* 当音乐播完会运行的Listener */  
  75.         myPlayer1.setOnCompletionListener(new OnCompletionListener() 
  76.         { 
  77.           // @Override 
  78.           public void onCompletion(MediaPlayer arg0) 
  79.           {  
  80.             mTextView1.setText(R.string.str_finished);
  81.             mStart.setImageResource(R.drawable.star);
  82.           } 
  83.         });
  84.       } 
  85.     });     
  86.      
  87.     /*暂停按钮 */ 
  88.     mPause.setOnClickListener(new ImageButton.OnClickListener() 
  89.     { 
  90.       public void onClick(View view) 
  91.       { 
  92.         if (myPlayer1 != null) 
  93.         { 
  94.           if(bIsReleased == false) 
  95.           { 
  96.             if(bIsPaused==false) 
  97.             { 
  98.               /*设置 MediaPlayer暂停播放*/
  99.               myPlayer1.pause(); 
  100.               bIsPaused = true; 
  101.               mTextView1.setText(R.string.str_pause); 
  102.               mStart.setImageResource(R.drawable.star);
  103.               mPause.setImageResource(R.drawable.pause_2);
  104.             } 
  105.             else if(bIsPaused==true) 
  106.             { 
  107.               /*播放 MediaPlayer */
  108.               myPlayer1.start(); 
  109.               bIsPaused = false; 
  110.               mTextView1.setText(R.string.str_start);
  111.               mStart.setImageResource(R.drawable.stars);
  112.               mPause.setImageResource(R.drawable.pause);
  113.             } 
  114.           } 
  115.         } 
  116.       } 
  117.     }); 
  118.     
  119.     /*往下一首歌的按钮 */
  120.     mNext.setOnClickListener(new ImageButton.OnClickListener() 
  121.     {
  122.       @Override
  123.       public void onClick(View arg0)
  124.       {
  125.         // TODO Auto-generated method stub       
  126.         mStart.setImageResource(R.drawable.stars);
  127.         mImageView1.setImageResource(R.drawable.dance);
  128.         
  129.         try 
  130.         { 
  131.           if(myPlayer1.isPlaying()==true) 
  132.           { 
  133.             /*将 MediaPlayer重设*/ 
  134.             myPlayer1.reset();            
  135.           } 
  136.           /*设置 MediaPlayer读取SDcard的文件*/
  137.           myPlayer1.setDataSource( "/sdcard/bb.mp3" );
  138.           myPlayer1.prepare();
  139.           /*将 MediaPlayer启动*/
  140.           myPlayer1.start(); 
  141.           mTextView1.setText(R.string.str_start); 
  142.         } 
  143.         catch (IllegalStateException e) 
  144.         { 
  145.           // TODO Auto-generated catch block 
  146.           mTextView1.setText(e.toString()); 
  147.           e.printStackTrace(); 
  148.         } 
  149.         catch (IOException e) 
  150.         { 
  151.           // TODO Auto-generated catch block 
  152.           mTextView1.setText(e.toString()); 
  153.           e.printStackTrace(); 
  154.         } 
  155.       }      
  156.     });
  157.     
  158.     /*往上一首歌按钮 */
  159.     mBefore.setOnClickListener(new ImageButton.OnClickListener() 
  160.     {
  161.       @Override
  162.       public void onClick(View arg0)
  163.       {
  164.         // TODO Auto-generated method stub
  165.         mStart.setImageResource(R.drawable.stars);
  166.         mImageView1.setImageResource(R.drawable.dance);
  167.         
  168.         try 
  169.         { 
  170.           if(myPlayer1.isPlaying()==true) 
  171.           { 
  172.             /*将 MediaPlayer重设*/ 
  173.             myPlayer1.reset();            
  174.           }
  175.           /*设置 MediaPlayer读取SDcard的文件*/
  176.           myPlayer1.setDataSource( "/sdcard/aaaa.mp3" );
  177.           myPlayer1.prepare();
  178.           /*将 MediaPlayer启动*/
  179.           myPlayer1.start(); 
  180.           mTextView1.setText(R.string.str_start); 
  181.         } 
  182.         catch (IllegalStateException e) 
  183.         { 
  184.           // TODO Auto-generated catch block 
  185.           mTextView1.setText(e.toString()); 
  186.           e.printStackTrace(); 
  187.         } 
  188.         catch (IOException e) 
  189.         { 
  190.           // TODO Auto-generated catch block 
  191.           mTextView1.setText(e.toString()); 
  192.           e.printStackTrace(); 
  193.         } 
  194.       }      
  195.     });
  196.     
  197.     /*停止按钮 */
  198.     mStop.setOnClickListener(new ImageButton.OnClickListener() 
  199.     { 
  200.       @Override 
  201.       public void onClick(View v) 
  202.       { 
  203.         // TODO Auto-generated method stub 
  204.         
  205.         if(myPlayer1.isPlaying()==true) 
  206.         { 
  207.           /*把 MediaPlayer重设*/
  208.           myPlayer1.reset(); 
  209.           mTextView1.setText(R.string.str_stopped);
  210.           mStart.setImageResource(R.drawable.star);
  211.           mPause.setImageResource(R.drawable.pause);
  212.           mImageView1.setImageResource(R.drawable.black);
  213.         } 
  214.       } 
  215.     }); 
  216.   } 
  217. }