我有以下代码:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
问题是,当我运行这段代码时,它会按字母顺序开始播放资源目录中的所有音频文件,而不是只播放我请求的音频文件 . 我究竟做错了什么?有没有更好的方法从资源目录播放音频文件?
后续问题:将音频文件保存在资源目录中并将它们保存在res / raw目录中是否有区别?除了他们没有获得ID,如果他们在资产目录中的事实 . 如果我将音频文件移动到res / raw文件夹,那么我在重用 MediaPlayer
时遇到问题,因为 setDataSource()
没有id参数 . 我找不到处理这类问题的好指南 .
5 回答
这个功能会正常工作:)
这是我的静态版本:
修复上述播放和暂停功能
开始声音
方法