您的位置:首页 > 移动开发 > Android开发

初识Android之音频播放

2012-03-25 19:38 459 查看
随着手机的全面普及,手机的一些功能也随之普遍化,手机上最基本的多媒体需求就是播放音频文件,那么Android开发中如何实现这一功能呢,其实Android的Media Player很简单,易于使用。下面我将为大家提供一个简单的实例,实现音频的播放功能,这里处理的很简单,仅是简单地实现了其播放功能而已,随之深入学习,我们可以对其功能进行细致的完善。
这里我们将分三步操作来实现,1、在工程的res目录下新建raw文件夹,将MP3文件放在项目的res/raw目录中。2、创建MediaPlayer的一个新实例并调用MediaPlayer.create()来引用MP3。3、调用MediaPlayer方法prepare()和start()。

具体代码如下:

创建一个MediaPlayerActivity,包结构为cn.com。

package cn.com;

import android.app.Activity;

import android.media.MediaPlayer;

import android.media.MediaPlayer.OnCompletionListener;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class MediaPlayerActivity extends Activity {

private Button myButton;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

myButton = (Button) findViewById(R.id.playsong);

myButton.setOnClickListener(new Button.OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

MediaPlayer mp = MediaPlayer.create(MediaPlayerActivity.this, R.raw.song1);//音频文件

mp.start();

mp.setOnCompletionListener(new OnCompletionListener(){

public void onCompletion(MediaPlayer arg0){

}

});

}

});

}

}

main.xml文件创建一个简单的播放Button-------------------------------------------

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<Button

android:id="@+id/playsong"

android:layout_width="60dip"

android:layout_height="wrap_content"

android:text="play" />

</LinearLayout>

以上是主要代码,其他代码没变,有两个地方说明一下:R.raw.song1为raw下的歌曲的路径,在R.java中有对应关系的,也可以使用URI访问网络上的文件或通过互联网访问文件。setOnCompletionListener方法是用于播放完时执行某项任务,我们可以通过更改按钮的状态或通知用户歌曲播放完毕,或者询问用户是否希望播放下一首歌曲。这里我没做处理。

说明:我也是初学Android的Java爱好者,对Android的高深技术目前还并不是很清楚,只是为了记录自己的学习历程与学习心得,常常发表一些博文,然而对一些技术的说明可能并不是很到位,如果其中有什么纰漏或者不妥之处,愿闻大家指点交流,一起学习共同进步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: