在 Android 的 ListView 项目中使用从 SQLite 加载的文件路径中的按钮在媒体播放器上播放声音文件

Play a sound file on mediaplayer with button within ListView item in Android with filepath loaded from SQLite

我录制了一些声音并将它们保存在 /storage/emulated/0/AudioRecorder 文件夹中。然后我将文件路径保存在 SQLite 数据库中。因此,当我基于 baseadapter 填充我的列表视图时,我的 getview 具有按钮 clicklistener。到目前为止,一切似乎都很好。但是当我点击按钮时没有任何反应。调试显示按钮找到了正确列表项的位置,播放声音的方法找到了文件路径但没有播放。

 public void playSoundItem(int id)
 {

    final String SoundFile = MyItems.get(id).getItemFilepath();
    mMediaPlayer = new MediaPlayer();
    try {
        //Uri mp4 = Uri.parse(file + "/" + myList.get(soundPosition));
        //Uri mp4 = Uri.parse(SoundFile);

        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mMediaPlayer.setDataSource(SoundFile);
        mMediaPlayer.prepare(); 
        mMediaPlayer.start();
        mMediaPlayer.setOnCompletionListener(onCompletionListener);
    } catch (Exception e) {
    }
}

我已经用 uri 解析测试了它,然后又做了同样的事情。 SoundFile 的值为: /storage/emulated/0/AudioRecorder/MySound21-04-2015 20:38.mp4 我是否必须将其解析为其他内容

你先检查listview是否可以点击