`
kurting615
  • 浏览: 93287 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 简单的音乐播放

阅读更多

代码如下:

package com.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 MusicActivity 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(MusicActivity.this, R.raw.big);

		/* 运行播放音乐的按钮 */
		mButton01.setOnClickListener(new ImageButton.OnClickListener() {
			@Override
			/* 覆盖OnClick事件 */
			public void onClick(View v) {
				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();
	}
}

 效果如下:


  • 大小: 10 KB
分享到:
评论

相关推荐

    Android Studio实现简单音乐播放功能的示例代码

    基于Broadcast,BroadcastReceiver等与广播相关的知识实现简单的音乐播放功能,包括音乐的播放、暂停、切换、进度选择、音量调整。 设计效果 (进度条时间刷新功能还没有实现) 实现思路 音乐服务端负责播放音乐...

    Android 开源在线音乐播放器

    学期末老师布置的android开发任务,做了简单的音乐播放。还有简单的密码验证 开发软件:Android StudioAndroid 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器...

    Android简单音乐播放实例

    主要介绍了Android简单音乐播放实例,详细介绍了Android Service使用方法

    Android实现音乐播放.zip

    实现一个运行于Android平台的音乐播放器,可以列出SD卡上的所有歌曲,并实现简单的播放、暂停、切歌以及设置等功能。 1. 加载本地歌曲 通过列表形式将本地歌曲列出,显示简要信息,如歌名、歌手。 2. 播放控制 ...

    android实现音乐播放器

    android简单音乐播放器的播放,暂停,前一首,后一首的控制。简单音乐播放器的播放,暂停,前一首,后一首的控制。简单音乐播放器的播放,暂停,前一首,后一首的控制。简单音乐播放器的播放,暂停,前一首,后一首...

    android带seekbar的简单音乐播放

    android带seekbar的简单音乐播放器

    Android简单的音乐播放器

    一个Android简单的音乐播放器。 播放、暂停,停止,退出功能; 后台播放功能;进度条显示播放进度、拖动进度条改变进度功能; 显示当前播放时间功能;

    Android播放音乐APP

    Android实现的简单的音乐播放软件,实现了歌曲单词显示和进度条显示

    Android实现简单音乐播放器(MediaPlayer)

    Android实现简单音乐播放器(MediaPlayer),供大家参考,具体内容如下 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要求功能有: 播放、暂停功能; 进度条显示...

    android简单音乐播放器代码

    本人写的android播放器代码,用到主要控件mediaplayer实现了播放暂停调节音量等功能。友友门可以优化一下界面,改为自己喜欢风格的音乐播放器。

    Android studio简单的音乐播放器.zip

    用Android studio软件写的一个很简单的音乐播放器,可以实现音乐的播放暂停,同时可以实现音乐进度的拖拽。播放及暂停使用的时imageview,不是用的button

    Android 简单音乐播放器.rar

    Android 简单音乐播放器,具有上一曲、下一曲、播放、暂停,播放进度等功能,使用android的button、service、seekbar实现的 Android 简单音乐播放器截图

    Android 后台 音乐播放 修改版

    上次,看到个人,直接从Apidemos中修改出了个后台的音乐播放。实现后台service的一个功能。 却有一个bug。真是看不下眼。 修改了一下。没什么exception了。 只是个demo程序。简单。直接。 另外,如果你是在linux下...

    安卓音乐播放器本地播放_Android Studio项目

    基于Android Studio SDK29开发,兼容安卓Q,UI优美,功能完整,可测试或再开发,包含全部项目文件...支持的功能:基本音频播放与控制、收藏喜爱的音乐、显示播放列表、设置播放模式、定时关闭播放、在通知栏显示通知。

    Android音乐播放

    简单的音乐播放,音乐的控制与音乐列表的加载

    Android 简单音乐播放器 (涉及 CursorAdapter、ContentResolver、监听器、服务、广播)

    1.将手机内的音乐展示到播放界面 2.点击播放界面的任一歌曲,能够进行播放,同时展示到底部导航栏上 3.将程序转入后台,仍然能够播放 4.在通知栏上显示当前播放音乐信息 5.能够对音乐进行暂停和继续 6.在导航栏上...

    Android-简单音乐播放器.zip

    Android开发简易音乐播放器,实现播放、暂停、进度条拖动和歌名显示。xml使用线性布局,使用MediaPlayer类,Java代码详细注释,简单易懂,适合新手学习使用。

    tomcat+Android简单音乐播放器

    使用tomcat搭建服务器(springmvc+mybatis),作为音乐播放器的服务器,存放歌曲的信息 客户端是基于安卓开发的简单音乐播放器 使用nat123申请域名使用

    Android在线播放音乐

    Android多线程断点续传下载+在线播放音乐,简单易学易操作!

Global site tag (gtag.js) - Google Analytics