`
kurting615
  • 浏览: 94783 次
  • 性别: 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简单音乐播放实例

    Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了。Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程...下面我们以一个简单的音乐播放器的实例来说明下Service的生命周期和Servi

    android简单音乐播放器

    5. **服务(Service)**:音乐播放通常在后台进行,这就需要用到Android的服务。`MediaPlayer`可以在服务中运行,即使应用被切换到后台,音乐也能继续播放。服务可以通过`startService()`启动,用`stopService()`...

    Android studio音乐播放器

    Android studio实现音乐播放,用户登录后,可以通过该App浏览和播放音乐文件。App提供音乐列表,用户可以浏览并选择要播放的音乐。点击音乐后,将跳转到音乐播放页面,可进行音乐的播放、暂停、上一曲和下一曲以及...

    Android实现音乐播放.zip

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

    android简单音乐播放器代码

    在描述的项目中,开发者已经利用`MediaPlayer`来实现基本的音乐播放功能。以下是使用`MediaPlayer`的关键步骤: 1. 初始化`MediaPlayer`对象:首先,需要创建一个`MediaPlayer`实例,通常通过`MediaPlayer.create()...

    基于Android Studio开发的音乐播放器APP源码Android 音乐播放器源码

    通过分析这个基于Android Studio的音乐播放器源码,开发者不仅可以学习到如何构建一个完整的音乐播放应用,还能深入理解Android平台上的多媒体处理、用户界面设计、服务组件使用等核心概念,为今后的Android开发打下...

    tomcat+Android简单音乐播放器

    在IT领域,开发一款音乐播放器涉及到多个技术栈的融合,本项目“Tomcat+Android简单音乐播放器”就是一个很好的实例,展示了如何结合后端服务器和移动端应用来实现音乐的在线播放功能。首先,我们来看后端部分,它...

    仿网易云界面的Android简单音乐播放器

    - SeekBar的滑动事件可以通过OnSeekBarChangeListener来监听,更新音乐播放位置。 5. **后台播放与服务**: - 为了实现在后台播放音乐,需要创建一个Service。Service是Android的一种组件,可以在后台长时间运行...

    Android简单的音乐播放器

    总结来说,开发一个Android简单音乐播放器涉及的关键技术点有:`MediaPlayer`类的使用,播放进度的监听与控制,后台服务的实现,用户界面设计以及事件处理。通过学习和实践这些知识点,开发者可以构建出一个基本但...

    Android来电时停止音乐播放的流程学习

    ### Android来电时停止音乐播放的流程学习 #### 场景分析 在Android系统中,针对来电时音乐播放的控制机制可以分为以下两种典型场景: 1. **电话处于响铃模式时**: - 当有来电时,系统首先会自动暂停正在后台...

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

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

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

    【Android Studio简单音乐播放器开发】 在Android平台上开发一个音乐播放器是许多初学者和专业开发者都会遇到的任务。本项目“Android studio简单的音乐播放器”就是这样一个基础示例,它展示了如何利用Android ...

    android实现音乐播放器

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

    简单的Android音乐播放器

    这个项目"简单的Android音乐播放器"旨在提供一个基础框架,让用户能够进行音乐的播放、暂停、上一曲和下一曲操作,并且还包含用户登录注册功能。这涉及到Android平台的UI设计、多媒体处理以及用户账户管理等多个方面...

    android带seekbar的简单音乐播放

    android带seekbar的简单音乐播放器

    Android-简单音乐播放器.zip

    本项目名为"Android-简单音乐播放器",它实现了基础的音乐播放功能,包括播放、暂停、进度条拖动以及显示当前播放歌曲的名称。这个项目使用了线性布局来构建用户界面,并依赖于Android系统的`MediaPlayer`类来处理...

    Android简单音乐播放器

    在Android平台上开发一个简单的音乐播放器,涉及...以上是构建“Android简单音乐播放器”所需的关键技术点。在实际开发中,还需要考虑性能优化、用户体验、错误处理等多个方面,以提供一个稳定、易用的音乐播放器应用。

Global site tag (gtag.js) - Google Analytics