我有非常基本的媒体播放器代码:
AssetFileDescriptor FileDescriptor = getAssets().openFd(musicPth);
MusicPlayer.setDataSource(FileDescriptor.getFileDescriptor());
MusicPlayer.prepare();
MusicPlayer.start();
由于某些原因,当歌曲结束时,播放器会自动播放文件夹中的下一首歌曲!
我已经尝试了setOnCompletionListener
和setLooping
功能,但似乎它们不会影响播放器,它只会转到下一首歌。
如果我排除第二个mp3,那么播放器会循环播放我想要的同一首歌。
非常奇怪的行为,我错过了什么?
答案 0 :(得分:2)
我似乎通过将setDataSource()
函数更改为此来解决我的问题:
AssetFileDescriptor FileDescriptor = getAssets().openFd(musicPth);
MusicPlayer.setDataSource(FileDescriptor.getFileDescriptor(),
FileDescriptor.getStartOffset(),
FileDescriptor.getLength());
FileDescriptor.close();