【发布时间】:2011-03-18 08:55:02
【问题描述】:
我有以下代码:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
问题是,当我运行此代码时,它开始按字母顺序播放资产目录中的所有音频文件,而不是只播放我请求的音频文件。我究竟做错了什么?有没有更好的方法来播放资产目录中的音频文件?
后续问题:
将音频文件保存在 assets 目录中和将它们保存在 res/raw 目录中是否有区别?除了如果他们在资产目录中他们不会得到 id 的事实。如果我将音频文件移动到 res/raw 文件夹,那么我在重用 MediaPlayers 时会遇到问题,因为 setDataSource() 没有 id 参数。我找不到处理此类问题的好指南。
【问题讨论】:
标签: android audio android-mediaplayer assets android-assets