我的应用程序有一个来自ListView的DetailView。在detailView中我可以录制,存储在SD卡中并播放音频文件(outputFile),问题是它总是记录最新的音频而不管我在listView中点击的项目。如何将录制的outputFile与所选项目关联的detailView相关联?我希望这是有道理的。提前谢谢。
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) throws IllegalArgumentException,SecurityException,IllegalStateException {
MediaPlayer m = new MediaPlayer();
try {
m.setDataSource(outputFile); //AUDIO DATA SOURCE outputFile
}
catch (IOException e) {
e.printStackTrace();
}
try {
m.prepare();
}
catch (IOException e) {
e.printStackTrace();
}
m.start();
Toast.makeText(getActivity().getBaseContext(), "Playing audio", Toast.LENGTH_LONG).show();
}
答案 0 :(得分:0)
我不完全知道你想要什么,但以下内容可以解决你的问题。
您可以使用散列图来存储分配给按钮的音频。
private HashMap<String, String> hm;
public MyAdapter(){
hm = new HashMap<>();
}
录制并存储音频后,为录音0,1,2,...分配计数器并存储以下内容
hm.put("Position" & counter, outputFilePath);
然后在你的play.OnClickListener中使用以下作为dataSource
m.setDataSource(hm.get("Position" & itemPosition));