Android MediaPlayer播放mp3的实例(转载)
来源:互联网 发布:装饰装修施工资质 知乎 编辑:程序博客网 时间:2024/06/05 16:31
Step 1 :新建一个Android工程,命名为MediaPlayerDemo.
Step 2 :准备素材,在res下建一个raw文件夹,将foollove.mp3导入,将play.png,pause.png,及stop.png导入res/drawable文件夹下.
Step 3: 设计UI布局,在main.xml里放入三个ImageButton(这里可以用AbsoluteLayout,或者RelativeLayout实现,我用后者).代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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: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>
Step 4 :主控制程序MediaPlayerDemo.java的实现,代码如下:
package com.android.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 MediaPlayerDemo extends Activity {
private ImageButton mb1,mb2,mb3;
private TextView tv;
private MediaPlayer mp;
//声明一个变量判断是否为暂停,默认为false
private boolean isPaused = false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通过findViewById找到资源
mb1 = (ImageButton)findViewById(R.id.myButton1);
mb2 = (ImageButton)findViewById(R.id.myButton2);
mb3 = (ImageButton)findViewById(R.id.myButton3);
tv = (TextView)findViewById(R.id.myTextView1);
//创建MediaPlayer对象,将raw文件夹下的lovefool.mp3
mp = MediaPlayer.create(this,R.raw.lovefool);
//增加播放音乐按钮的事件
mb1.setOnClickListener(new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
try {
if(mp != null)
{
mp.stop();
}
mp.prepare();
mp.start();
tv.setText("音乐播放中...");
} catch (Exception e) {
tv.setText("播放发生异常...");
e.printStackTrace();
}
}
});
mb2.setOnClickListener(new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
try {
if(mp !=null)
{
mp.stop();
tv.setText("音乐停止播放...");
}
} catch (Exception e) {
tv.setText("音乐停止发生异常...");
e.printStackTrace();
}
}
});
mb3.setOnClickListener(new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
try {
if(mp !=null)
{
if(isPaused==false)
{
mp.pause();
isPaused=true;
tv.setText("停止播放!");
}
else if(isPaused==true)
{
mp.start();
isPaused = false;
tv.setText("开始播发!");
}
}
} catch (Exception e) {
tv.setText("发生异常...");
e.printStackTrace();
}
}
});
/* 当MediaPlayer.OnCompletionLister会运行的Listener */
mp.setOnCompletionListener(
new MediaPlayer.OnCompletionListener()
{
// @Override
/*覆盖文件播出完毕事件*/
public void onCompletion(MediaPlayer arg0)
{
try
{
/*解除资源与MediaPlayer的赋值关系
* 让资源可以为其它程序利用*/
mp.release();
/*改变TextView为播放结束*/
tv.setText("音乐播发结束!");
}
catch (Exception e)
{
tv.setText(e.toString());
e.printStackTrace();
}
}
});
/* 当MediaPlayer.OnErrorListener会运行的Listener */
mp.setOnErrorListener(new MediaPlayer.OnErrorListener()
{
@Override
/*覆盖错误处理事件*/
public boolean onError(MediaPlayer arg0, int arg1, int arg2)
{
// TODO Auto-generated method stub
try
{
/*发生错误时也解除资源与MediaPlayer的赋值*/
mp.release();
tv.setText("播放发生异常!");
}
catch (Exception e)
{
tv.setText(e.toString());
e.printStackTrace();
}
return false;
}
});
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Android_Tutor/archive/2009/12/22/5058217.aspx
- Android MediaPlayer播放mp3的实例(转载)
- -Android MediaPlayer播放mp3的实例
- Android 中级教程之------Android MediaPlayer播放mp3的实例!
- Android中级教程之------Android MediaPlayer播放mp3的实例
- Android 中级教程之------Android MediaPlayer播放mp3的实例!
- Android 中级教程之------Android MediaPlayer播放mp3的实例!
- Android 中级教程之------Android MediaPlayer播放mp3的实例!
- Android 中级教程之------Android MediaPlayer播放mp3的实例!
- 我的Android进阶之旅------>Android MediaPlayer播放mp3的实例--简易mp3播放器
- Android MP3播放器MediaPlayer
- 我的Android进阶之旅------>Android MediaPlayer播放网络音频的实例--网络mp3播放器
- Android MediaPlayer 播放本地与远程的mp3初步
- Android--MediaPlayer实现MP3播放小程序
- MediaPlayer中mp3音乐的播放
- MediaPlayer 播放 MP3文件的简单使用
- 调用MediaPlayer播放MP3
- Android--使用AudioRecord录音,并使用MediaPlayer播放的实例
- Android 中级教程之------Android MediaPlayer播放mp3
- SAP ABAP知识点
- "Borland license information was found,but it is not valid for delphi." 的解决方法
- job+dblink实现数据同步
- 调试论坛系统心得
- Session相关
- Android MediaPlayer播放mp3的实例(转载)
- C++类和接口的设计原则探讨
- oracle中如何跨不同session支持可读写的全局变量
- Geodatabase简介(转)
- WebService架构
- 用asp.net 2.0在oracle中存取图片(文件)的操作
- C#开发短信的方法和简介
- 华硕K40IN系列笔记本安装摘要
- 后缀常识