众所周知,Android提供丰富的API供应用开发者开发各种各样的应用。同样对于开发多媒体相关的应用,Android也提供了非常丰富的API, 可以参考Android中文开发者网站的media部分。 https://developer.android.google.cn/reference/android/media/package-summary.html
要实现播放一首音乐,使用MediaPlayer这个类,只需如下简单的几步。
player.setDataSource(path);player.PRepare();player.start();以下是我写的一个简单的Demo, 播放sdcard上的Test.mp3文件。
package com.jaychou.musicdemo;import android.app.Activity;import android.media.MediaPlayer;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.widget.Button;import java.io.IOException;public class MainActivity extends Activity { private Button play; private Button stop; private MediaPlayer player; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); play = (Button)findViewById(R.id.play); stop = (Button)findViewById(R.id.stop); player = new MediaPlayer(); play.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { play(); } }); stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(player.isPlaying()){ player.stop(); } } }); } private void play(){ try { String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/Music/Test.mp3"; player.setDataSource(path); Log.d("Jaychou","MusicDemo setDataSource"); player.prepare(); Log.d("Jaychou","MusicDemo Prepare"); player.start(); } catch (IOException e) { e.printStackTrace(); Log.d("Jaychou","err when play"); } }}注意:这份代码是跑在Android N上面的,android在6.0上推出了运行时权限,以上代码在Android 6.0及其以上版本需要添加权限处理的代码。 这里也可以直接在Settings中将MusicDemo的Storage权限手动打开。
如图: 
点击如下图的PLAY MUSIC就可以播放Test.mp3了。

新闻热点
疑难解答