我正在尝试播放存储在资产目录中的音频文件,但是在读取文件之前,我得到了错误“ java.io.FileNotFoundException发生错误:track.mp3”。 这是我的阅读方式:

AssetFileDescriptor afd = getAssets().openFd("track.mp3");

我在互联网上阅读了很多说明,但没有成功。

===============>>#1 票数:0

Android准则建议音频使用res/raw文件夹。 因此,请确保所有音频都在那里,并且在阅读时可以使用以下方法:

void playAudio(Context mContext, String sound){
    new AudioPlayer().play(mContext, mContext.getResources().getIdentifier(
            sound,"raw", mContext.getPackageName()));
}

如果您需要线音频播放器,那么请看一下MediaPlayer

===============>>#2 票数:0

右键单击“ track.mp3”文件,使用“重构”(Refactor)>“移动”(Move)命令,将文件移动到另一个目录(例如“ res”)。 使用相同的命令,将其移回“资产”目录。 对我来说,它有效。

===============>>#3 票数:-1

我认为这段代码应该适合您:

AssetFileDescriptor afd = getAssets().openFd("track.mp3");

MediaPlayer player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
player.prepare();
player.start();

否则,请检查文件是否在正确的文件夹中,并且名称为“ track.mp3”。

  ask by SimpleMan translate from so

未解决问题?本站智能推荐: