初识Android之音频播放

随着手机的全面普及,手机的一些功能也随之普遍化,手机上最基本的多媒体需求就是播放音频文件,那么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的高深技术目前还并不是很清楚,只是为了记录自己的学习历程与学习心得,常常发表一些博文,然而对一些技术的说明可能并不是很到位,如果其中有什么纰漏或者不妥之处,愿闻大家指点交流,一起学习共同进步。

阅读更多
个人分类: java技术 android新手
上一篇Delphi写的多媒播放器
下一篇java写的代码量统计器
想对作者说点什么? 我来说一句

MD_20151014

2015年10月14日 21.44MB 下载

没有更多推荐了,返回首页

关闭
关闭