我有非常基本的媒体播放器代码:

AssetFileDescriptor FileDescriptor = getAssets().openFd(musicPth);

MusicPlayer.setDataSource(FileDescriptor.getFileDescriptor());
MusicPlayer.prepare();
MusicPlayer.start();

出于某种原因,当歌曲结束时,播放器会自动播放文件夹中的下一首歌曲!

我已经尝试过setOnCompletionListenersetLooping函数,但似乎它们不会影响播放器,只会播放下一首歌曲。

如果我排除第二个mp3,则播放器会循环播放我想要的同一首歌曲。

非常奇怪的行为,我是否缺少某些东西?

最佳答案

我似乎通过将setDataSource()函数更改为此来解决了我的问题:

AssetFileDescriptor FileDescriptor = getAssets().openFd(musicPth);

MusicPlayer.setDataSource(FileDescriptor.getFileDescriptor(),
    FileDescriptor.getStartOffset(),
    FileDescriptor.getLength());

FileDescriptor.close();

07-24 09:49