安卓,播放音乐资源文件
这里介绍两种播放资源文件的方法:
第一种、
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(); }
第二种、
在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(); }
res/raw目录下的资源,和assets类资源一样,都是原装不动地打包在apk文件中的,不过它们会被赋予资源ID,这样我们就可以在程序中通过ID来访问它们。
实现音乐文件的重复播放:
//音乐重复播放 mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer arg0) { mpMediaPlayer.start(); mpMediaPlayer.setLooping(true); } });