代码如下:
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
分享到:
相关推荐
基于Broadcast,BroadcastReceiver等与广播相关的知识实现简单的音乐播放功能,包括音乐的播放、暂停、切换、进度选择、音量调整。 设计效果 (进度条时间刷新功能还没有实现) 实现思路 音乐服务端负责播放音乐...
学期末老师布置的android开发任务,做了简单的音乐播放。还有简单的密码验证 开发软件:Android StudioAndroid 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器...
主要介绍了Android简单音乐播放实例,详细介绍了Android Service使用方法
实现一个运行于Android平台的音乐播放器,可以列出SD卡上的所有歌曲,并实现简单的播放、暂停、切歌以及设置等功能。 1. 加载本地歌曲 通过列表形式将本地歌曲列出,显示简要信息,如歌名、歌手。 2. 播放控制 ...
android简单音乐播放器的播放,暂停,前一首,后一首的控制。简单音乐播放器的播放,暂停,前一首,后一首的控制。简单音乐播放器的播放,暂停,前一首,后一首的控制。简单音乐播放器的播放,暂停,前一首,后一首...
android带seekbar的简单音乐播放器
一个Android简单的音乐播放器。 播放、暂停,停止,退出功能; 后台播放功能;进度条显示播放进度、拖动进度条改变进度功能; 显示当前播放时间功能;
Android实现的简单的音乐播放软件,实现了歌曲单词显示和进度条显示
Android实现简单音乐播放器(MediaPlayer),供大家参考,具体内容如下 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要求功能有: 播放、暂停功能; 进度条显示...
本人写的android播放器代码,用到主要控件mediaplayer实现了播放暂停调节音量等功能。友友门可以优化一下界面,改为自己喜欢风格的音乐播放器。
用Android studio软件写的一个很简单的音乐播放器,可以实现音乐的播放暂停,同时可以实现音乐进度的拖拽。播放及暂停使用的时imageview,不是用的button
Android 简单音乐播放器,具有上一曲、下一曲、播放、暂停,播放进度等功能,使用android的button、service、seekbar实现的 Android 简单音乐播放器截图
上次,看到个人,直接从Apidemos中修改出了个后台的音乐播放。实现后台service的一个功能。 却有一个bug。真是看不下眼。 修改了一下。没什么exception了。 只是个demo程序。简单。直接。 另外,如果你是在linux下...
基于Android Studio SDK29开发,兼容安卓Q,UI优美,功能完整,可测试或再开发,包含全部项目文件...支持的功能:基本音频播放与控制、收藏喜爱的音乐、显示播放列表、设置播放模式、定时关闭播放、在通知栏显示通知。
简单的音乐播放,音乐的控制与音乐列表的加载
1.将手机内的音乐展示到播放界面 2.点击播放界面的任一歌曲,能够进行播放,同时展示到底部导航栏上 3.将程序转入后台,仍然能够播放 4.在通知栏上显示当前播放音乐信息 5.能够对音乐进行暂停和继续 6.在导航栏上...
Android开发简易音乐播放器,实现播放、暂停、进度条拖动和歌名显示。xml使用线性布局,使用MediaPlayer类,Java代码详细注释,简单易懂,适合新手学习使用。
使用tomcat搭建服务器(springmvc+mybatis),作为音乐播放器的服务器,存放歌曲的信息 客户端是基于安卓开发的简单音乐播放器 使用nat123申请域名使用
Android多线程断点续传下载+在线播放音乐,简单易学易操作!