第54章、播放音频(从零开始学Android)
来源:互联网 发布:seo最牛的人 编辑:程序博客网 时间:2024/06/07 05:34
现代智能手机无论是android、IOS、Windows phone8,其媒体播放器都是必不可少。
Android的MediaPlayer包含了Audio和video的播放功能,本案例我们学习如何使用Android的MediaPlayer播放MP3。
一、设计界面
1、首先把play.png、pause.png、stop.png三张图片复制到res/drawable-hdpi文件夹内。
2、再者把coffee.mp3复制到res/raw文件夹内。
3、布局文件
打开activity_main.xml文件。
输入以下代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageButton android:id="@+id/play" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/play" /> <ImageButton android:id="@+id/pause" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/pause" /> <ImageButton android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/stop" /> <TextView android:id="@+id/prompt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="提示信息" /></LinearLayout>
二、程序文件
打开“src/com.genwoxue.mp3/MainActivity.java”文件。
然后输入以下代码:
package com.genwoxue.mp3;import android.app.Activity; import android.os.Bundle;import android.media.MediaPlayer;import android.view.View; import android.widget.ImageButton; import android.widget.TextView; public class MainActivity extends Activity { private ImageButton btnPlay,btnPause,btnStop; private TextView tvPrompt; private MediaPlayer mpPlayer; //声明一个变量判断是否为暂停,默认为false private boolean isPaused = false; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获得btnPlay、btnPause、btnStop和tvPrompt通过findViewById找到资源 btnPlay = (ImageButton)findViewById(R.id.play); btnPause = (ImageButton)findViewById(R.id.pause); btnStop = (ImageButton)findViewById(R.id.stop); tvPrompt = (TextView)findViewById(R.id.prompt); //创建MediaPlayer对象,将raw文件夹下的coffee.mp3 mpPlayer = MediaPlayer.create(this,R.raw.coffee); //设置播放监听事件 btnPlay.setOnClickListener(new ImageButton.OnClickListener(){ @Override public void onClick(View v) { try { if(mpPlayer != null){ mpPlayer.stop(); } mpPlayer.prepare(); mpPlayer.start(); tvPrompt.setText("音乐播放中..."); } catch (Exception e) { tvPrompt.setText("播放发生异常..."); e.printStackTrace(); } } }); //设置暂停监听事件 btnPause.setOnClickListener(new ImageButton.OnClickListener(){ @Override public void onClick(View v) { try { if(mpPlayer !=null){ mpPlayer.stop(); tvPrompt.setText("音乐停止播放..."); } } catch (Exception e) { tvPrompt.setText("音乐停止发生异常..."); e.printStackTrace(); } } }); //设置停止监听事件 btnStop.setOnClickListener(new ImageButton.OnClickListener(){ @Override public void onClick(View v) { try { if(mpPlayer !=null){ if(isPaused==false){ mpPlayer.pause(); isPaused=true; tvPrompt.setText("停止播放!"); } else if(isPaused==true){ mpPlayer.start(); isPaused = false; tvPrompt.setText("开始播发!"); } } } catch (Exception e) { tvPrompt.setText("发生异常..."); e.printStackTrace(); } } }); //设置MediaPlayer播放完毕事件 mpPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){ // @Override public void onCompletion(MediaPlayer arg0){ try{ //释放MediaPlayer资源 mpPlayer.release(); tvPrompt.setText("音乐播发结束!"); } catch (Exception e){ tvPrompt.setText(e.toString()); e.printStackTrace(); } } }); //设置MediaPlayer错误监听事件 mpPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener(){ @Override public boolean onError(MediaPlayer arg0, int arg1, int arg2){ // TODO Auto-generated method stub try{ //发生错误时,释放资源 mpPlayer.release(); tvPrompt.setText("播放发生异常!"); } catch (Exception e){ tvPrompt.setText(e.toString()); e.printStackTrace(); } return false; } }); } }
三、运行结果
单击“播放”按钮,一段优美的“走过咖啡屋”歌声从这里就开始了。
- 第54章、播放音频(从零开始学Android)
- 第56章、录制音频(从零开始学Android)
- 第55章、播放视频(从零开始学Android)
- 从零开始学android<Mediaplayer播放器组件(播放音频).四十八.>
- 第4章、打包Android应用(从零开始学Android)
- 第99章、Android调用Javascript(从零开始学Android)
- 第104章、Android访问WebService(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第99章、Android调用Javascript(从零开始学Android)
- 第9章、图像按钮ImageButton(从零开始学Android)
- 第10章、图像ImageView(从零开始学Android)
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
- 第25章、OnTouchListener触摸事件(从零开始学Android)
- 第26章、OnKeyListener键盘事件(从零开始学Android)
- 第52章、Bitmap图像处理(从零开始学Android)
- 一个IE7下,用form表单跳转iframe提交,然后下载文件。遇到的很有意思的问题
- 第53章、Matrix图形处理(从零开始学Android)
- beanUtiles强大功能攻略
- Apache Traffic Server 安装
- 第54章、播放音频(从零开始学Android)
- windows pe权威指南 里面的一个小问题
- HBase replication 代码分析
- python笔记--环境变量
- Jquery 笔记
- mysql errno: 150 错误 外键
- HDU_2022 海选女主角
- 三届(2012、2011、2009)KDD Cup内容、数据源和论文
- 第55章、播放视频(从零开始学Android)