Android N Audio播放一:如何播放一首音乐

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Liu1314you/article/details/52127158

  众所周知,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了。

展开阅读全文

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