Android虚拟机播放音乐实例
来源:互联网 发布:淘宝美工提成怎么算 编辑:程序博客网 时间:2024/05/21 10:06
1
package dfzy.EX099;import dfzy.EX099.R;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 EX099 extends Activity{ /* 声明一个 ImageButton,TextView,MediaPlayer变量 */ private ImageButton mButton01, mButton02, mButton03; private TextView mTextView01; private MediaPlayer mMediaPlayer01; /* 声明一个Flag作为确认音乐是否暂停的变量并默认为false */ private boolean bIsPaused = false; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* 通过findViewById构造器创建TextView与ImageView对象 */ mButton01 = (ImageButton) findViewById(R.id.myButton1); mButton02 = (ImageButton) findViewById(R.id.myButton2); mButton03 = (ImageButton) findViewById(R.id.myButton3); mTextView01 = (TextView) findViewById(R.id.myTextView1); /* onCreate时创建MediaPlayer对象 */ mMediaPlayer01 = new MediaPlayer(); /* 将音乐以Import的方式存储在res/raw/always.mp3 */ mMediaPlayer01 = MediaPlayer.create(EX099.this, R.raw.big); /* 运行播放音乐的按钮 */ mButton01.setOnClickListener(new ImageButton.OnClickListener() { @Override /* 覆盖OnClick事件 */ public void onClick(View v) { // TODO Auto-generated method stub try { if (mMediaPlayer01 != null) { mMediaPlayer01.stop(); } /* * 在MediaPlayer取得播放资源与stop()之后 * 要准备Playback的状态前一定要使用MediaPlayer.prepare() */ mMediaPlayer01.prepare(); /* 开始或回复播放 */ mMediaPlayer01.start(); /* 改变TextView为开始播放状态 */ mTextView01.setText(R.string.str_start); } catch (Exception e) { // TODO Auto-generated catch block mTextView01.setText(e.toString()); e.printStackTrace(); } } }); /* 停止播放 */ mButton02.setOnClickListener(new ImageButton.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub try { if (mMediaPlayer01 != null) { /* 停止播放 */ mMediaPlayer01.stop(); /* 改变TextView为停止播放状态 */ mTextView01.setText(R.string.str_close); } } catch (Exception e) { // TODO Auto-generated catch block mTextView01.setText(e.toString()); e.printStackTrace(); } } }); /* 暂停播放 */ mButton03.setOnClickListener(new ImageButton.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub try { if (mMediaPlayer01 != null) { /* 是否为暂停状态=否 */ if (bIsPaused == false) { /* 暂停播放 */ mMediaPlayer01.pause(); /* 设置Flag为treu表示 Player状态为暂停 */ bIsPaused = true; /* 改变TextView为暂停播放 */ mTextView01.setText(R.string.str_pause); } /* 是否为暂停状态=是 */ else if (bIsPaused == true) { /* 回复播出状态 */ mMediaPlayer01.start(); /* 设置Flag为false表示 Player状态为非暂停状态 */ bIsPaused = false; /* 改变TextView为开始播放 */ mTextView01.setText(R.string.str_start); } } } catch (Exception e) { // TODO Auto-generated catch block mTextView01.setText(e.toString()); e.printStackTrace(); } } }); /* 当MediaPlayer.OnCompletionLister会运行的Listener */ mMediaPlayer01 .setOnCompletionListener(new MediaPlayer.OnCompletionListener() { // @Override /* 覆盖文件播出完毕事件 */ public void onCompletion(MediaPlayer arg0) { try { /* * 解除资源与MediaPlayer的赋值关系 让资源可以为其它程序利用 */ mMediaPlayer01.release(); /* 改变TextView为播放结束 */ mTextView01.setText(R.string.str_OnCompletionListener); } catch (Exception e) { mTextView01.setText(e.toString()); e.printStackTrace(); } } }); /* 当MediaPlayer.OnErrorListener会运行的Listener */ mMediaPlayer01.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override /* 覆盖错误处理事件 */ public boolean onError(MediaPlayer arg0, int arg1, int arg2) { // TODO Auto-generated method stub try { /* 发生错误时也解除资源与MediaPlayer的赋值 */ mMediaPlayer01.release(); mTextView01.setText(R.string.str_OnErrorListener); } catch (Exception e) { mTextView01.setText(e.toString()); e.printStackTrace(); } return false; } }); } @Override /* 覆盖主程序暂停状态事件 */ protected void onPause() { // TODO Auto-generated method stub try { /* 再主程序暂停时解除资源与MediaPlayer的赋值关系 */ mMediaPlayer01.release(); } catch (Exception e) { mTextView01.setText(e.toString()); e.printStackTrace(); } super.onPause(); }}
2
raw下添加一个big.mp3文件
3
主布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:id="@+id/widget32" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/white" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/myTextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" android:textColor="@drawable/black" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" > </TextView> <ImageButton android:id="@+id/myButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/play" android:layout_below="@+id/myTextView1" > </ImageButton> <ImageButton android:id="@+id/myButton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/pause" android:layout_alignTop="@+id/myButton1" android:layout_toRightOf="@+id/myButton1" > </ImageButton> <ImageButton android:id="@+id/myButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/stop" android:layout_alignTop="@+id/myButton1" android:layout_toRightOf="@+id/myButton3" > </ImageButton></RelativeLayout>
4 还有 图片文件,字段定义文件string.xml,颜色字段文件color.xml,这些不是核心的就不写了
5 显示结果
- Android虚拟机播放音乐实例
- android,service实例,播放音乐
- Android音乐播放器的播放实例
- Android Service使用方法--简单音乐播放实例
- Android mp3音乐播放器实例-----概述
- Android Service使用方法--简单音乐播放实例
- Android多媒体--音乐播放器实例
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- Android多媒体(音乐播放器)实例
- android音乐播放器的开发实例
- Android Service使用方法--简单音乐播放实例
- IOS 播放音乐实例
- IOS 播放音乐实例 .
- Service播放音乐实例
- Android多媒体分析(五)音乐播放器实例
- 位运算艺术(一)
- switch内部定义变量须注意的问题
- 黑马程序员——IO字符流
- Environment.GetCommandLineArgs 方法
- linux下静态库与动态库的生成与调用
- Android虚拟机播放音乐实例
- Linux Mint中文字体模糊
- 时间函数的用法(ctime)
- asp.net mvc的权限管理设计
- 黑马程序员——IO字节流
- UVa 10534 Wavio Sequence (黑书例题,DP)
- WebConfig常见节点
- 题目1448:Legal or Not 【拓扑排序】
- Velocity与jQuery的$发生冲突时的三种解决方法