安卓,播放音乐资源文件

这里介绍两种播放资源文件的方法:

第一种、

assets类资源放在工程根目录的assets子目录下,它里面保存的是一些原始的文件,可以以任何方式来进行组织。这些文件最终会被原装不动地打包在apk文件中。如果我们要在程序中访问这些文件,那么就需要指定文件名来访问。这里把要添加的音乐文件加入进去

添加play()方法。

    protected void play(){
        AssetManager am = getAssets();
        try {
            mpMediaPlayer.setDataSource(am.openFd("first.mp3").getFileDescriptor());
            mpMediaPlayer.prepare();
            mpMediaPlayer.start();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
play

第二种、
在res文件夹下添加raw文件夹,在raw文件夹下添加音乐文件,继续添加音乐文件,后添加paly方法

protected void play(){
        mpMediaPlayer=MediaPlayer.create(this, R.raw.first);
        try {
            mpMediaPlayer.prepare();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        mpMediaPlayer.start();
    }
play

res/raw目录下的资源,和assets类资源一样,都是原装不动地打包在apk文件中的,不过它们会被赋予资源ID,这样我们就可以在程序中通过ID来访问它们。

实现音乐文件的重复播放:

  //音乐重复播放
        mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {  
            
            @Override 
            public void onCompletion(MediaPlayer arg0) {  
                mpMediaPlayer.start();  
                mpMediaPlayer.setLooping(true);             
            }  
        }); 
View Code
原文地址:https://www.cnblogs.com/wynet/p/5526905.html