MediaPlayerDemo.java
发布日期:2021-05-08 01:24:09 浏览次数:24 分类:原创文章

本文共 2444 字,大约阅读时间需要 8 分钟。

  • package com.android.test;  
  •  
  • import android.app.Activity;  
  • import android.media.MediaPlayer;  
  • import android.os.Bundle;  
  • import android.view.View;  
  • import android.widget.ImageButton;  
  • import android.widget.TextView;  
  •  
  • public class MediaPlayerDemo extends Activity {  
  •      
  •  private ImageButton mb1,mb2,mb3;  
  •  private TextView tv;  
  •  private MediaPlayer mp;  
  •  //声明一个变量判断是否为暂停,默认为false  
  •  private boolean isPaused = false;  
  •     public void onCreate(Bundle savedInstanceState) {  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(R.layout.main);  
  •           
  •         //通过findViewById找到资源  
  •         mb1 = (ImageButton)findViewById(R.id.myButton1);  
  •         mb2 = (ImageButton)findViewById(R.id.myButton2);  
  •         mb3 = (ImageButton)findViewById(R.id.myButton3);  
  •         tv = (TextView)findViewById(R.id.myTextView1);  
  •           
  •         //创建MediaPlayer对象,将raw文件夹下的lovefool.mp3  
  •         mp = MediaPlayer.create(this,R.raw.lovefool);  
  •         //增加播放音乐按钮的事件  
  •         mb1.setOnClickListener(new ImageButton.OnClickListener(){  
  •    @Override 
  •    public void onClick(View v) {  
  •     try {       
  •      if(mp != null)  
  •      {  
  •       mp.stop();  
  •      }      
  •      mp.prepare();  
  •      mp.start();  
  •      tv.setText("音乐播放中...");  
  •     } catch (Exception e) {  
  •      tv.setText("播放发生异常...");  
  •      e.printStackTrace();  
  •     }      
  •    }        
  •         });  
  •           
  •         mb2.setOnClickListener(new ImageButton.OnClickListener(){  
  •    @Override 
  •    public void onClick(View v) {  
  •     try {  
  •      if(mp !=null)  
  •      {  
  •       mp.stop();  
  •       tv.setText("音乐停止播放...");  
  •      }  
  •     } catch (Exception e) {  
  •      tv.setText("音乐停止发生异常...");  
  •      e.printStackTrace();  
  •     }  
  •       
  •    }           
  •         });  
  •           
  •         mb3.setOnClickListener(new ImageButton.OnClickListener(){  
  •    @Override 
  •    public void onClick(View v) {  
  •     try {  
  •      if(mp !=null)  
  •      {  
  •       if(isPaused==false)  
  •       {  
  •        mp.pause();  
  •        isPaused=true;  
  •        tv.setText("停止播放!");  
  •       }  
  •       else if(isPaused==true)  
  •       {  
  •        mp.start();  
  •        isPaused = false;  
  •        tv.setText("开始播发!");  
  •       }  
  •      }  
  •     } catch (Exception e) {  
  •      tv.setText("发生异常...");  
  •      e.printStackTrace();  
  •     }  
  •       
  •    }           
  •         });  
  •           
  •         /* 当MediaPlayer.OnCompletionLister会运行的Listener */ 
  •         mp.setOnCompletionListener(  
  •           new MediaPlayer.OnCompletionListener()   
  •         {   
  •           // @Override   
  •           /*覆盖文件播出完毕事件*/ 
  •           public void onCompletion(MediaPlayer arg0)   
  •           {   
  •             try   
  •             {   
  •               /*解除资源与MediaPlayer的赋值关系  
  •                * 让资源可以为其它程序利用*/ 
  •               mp.release();   
  •               /*改变TextView为播放结束*/ 
  •               tv.setText("音乐播发结束!");   
  •             }   
  •             catch (Exception e)   
  •             {   
  •               tv.setText(e.toString());   
  •               e.printStackTrace();   
  •             }   
  •           }   
  •         });   
  •            
  •         /* 当MediaPlayer.OnErrorListener会运行的Listener */ 
  •         mp.setOnErrorListener(new MediaPlayer.OnErrorListener()  
  •         {  
  •           @Override 
  •           /*覆盖错误处理事件*/ 
  •           public boolean onError(MediaPlayer arg0, int arg1, int arg2)  
  •           {  
  •             // TODO Auto-generated method stub  
  •             try 
  •             {  
  •               /*发生错误时也解除资源与MediaPlayer的赋值*/ 
  •               mp.release();  
  •               tv.setText("播放发生异常!");  
  •             }  
  •             catch (Exception e)  
  •             {  
  •               tv.setText(e.toString());   
  •               e.printStackTrace();   
  •             }   
  •             return false;   
  •           }   
  •         });   
  •       }   
  •     
  • }  
  •  


上一篇:vue项目进行防抖实现请求频繁时取消上一次操作
下一篇:vue通过v-model和watch实现搜索输入框动态查询

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月20日 06时20分51秒