我正在制作一个音乐应用程序,并且正在使用手机中的外部存储设备通过该应用程序访问数据。尽管我已经能够将音乐添加为列表视图,但是当我尝试在“ onItemClickListener”上播放音乐时,所选的mp3文件无法播放。
这是我选择特定项目的代码:
public void doStuff(){
listView= (ListView)findViewById(R.id.MusicList);
arraylist = new ArrayList<>();
getMusic();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arraylist );
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
// open music player to play desired song
mediaplayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
}
});
mediaplayer.start();
}
最后,这是Logcat上的错误:
07-02 18:17:12.327 21863-21863/com.example.daniel.queuemusic V/MediaPlayer-JNI: start
07-02 18:17:12.327 21863-21863/com.example.daniel.queuemusic V/MediaPlayerNative: start
07-02 18:17:12.327 21863-21863/com.example.daniel.queuemusic E/MediaPlayerNative: start called in state 0, mPlayer(0x0)
07-02 18:17:12.327 21863-21863/com.example.daniel.queuemusic V/MediaPlayerNative: message received msg=100, ext1=-38, ext2=0
notify(100, -38, 0) callback on disconnected mediaplayer
每次我单击列表中的一个项目(mp3文件)时,都会发生相同的错误。
我已经在线检查过,但到目前为止我还无法弄清楚。如果有人可以给我任何建议,我将不胜感激!