您的位置:首页 > 其它

播放assets目录下音频

2016-07-08 11:54 169 查看
public class PlayAssetMusic {

private static MediaPlayer player;

private boolean flag;

private PlayAssetMusic() {
}

public static PlayAssetMusic getInstance() {
return Holder.SINGLETON;
}

private static class Holder {
private static final PlayAssetMusic SINGLETON = new PlayAssetMusic();
}

/**
* 调用方式:play("music.mp3",getResources().getAssets());
*
* @param filename 播放assets目录下音频
* @param asm      AssetManager
* @throws IOException
*/
public void play(String filename, AssetManager asm) throws IOException {
if (!flag) {
flag = true;
AssetFileDescriptor afd = asm.openFd(filename);
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
player.prepare();
player.start();
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
flag = false;
}
});
}
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: