[英]How to play audio recorded file from ListView
i am developing an application of Call recording . 我正在开发一个呼叫录音的应用程序。 it record the call and save it in Phone memory(file Manager) and after saving audio file, i managed to show the recorded file in list View.
它记录呼叫并将其保存在手机内存(文件管理器)中,保存音频文件后,我设法在列表视图中显示录制的文件。 I want to know how to play the audio file through list View.
我想知道如何通过列表视图播放音频文件。 how can i do this.?
我怎样才能做到这一点。?
You can play it like below. 你可以像下面这样玩。
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
playSong(MEDIA_PATH + files.get(position));
}
});
and here is your playSong method. 这是你的playSong方法。
private void playSong(String songPath) {
try {
mp.reset();
mp.setDataSource(songPath);
mp.prepare();
mp.start();
} catch (IOException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
So your full code will looke something like this. 所以你的完整代码会讨论这样的事情。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.mylist);
// this will show the recorded files into ListVIew
private List<String> myList = new ArrayList<String>();
File list[] = file.listFiles();
for (int i = 0; i < list.length; i++) {
myList.add(list[i].getName());
}
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, files);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
playSong(MEDIA_PATH + myList.get(position));
}
});
private void playSong(String songPath) {
try {
mp.reset();
mp.setDataSource(songPath);
mp.prepare();
mp.start();
} catch (IOException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
}
where mp is your media player object private MediaPlayer mp = new MediaPlayer();
其中mp是您的媒体播放器对象
private MediaPlayer mp = new MediaPlayer();
and MEDIA_PATH is your folder path where you have your all recording like, 和MEDIA_PATH是你的所有录音的文件夹路径,如,
private static final String MEDIA_PATH = new String(
Environment.getExternalStorageDirectory() + "/AudioRecorder/");
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.mylist);
// this will show the recorded files into ListVIew
final String[] files = new File("mnt/sdcard/Audio File/").list();
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, files);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//checking the position of item in list
Object listItem = listView.getItemAtPosition(position);
Toast.makeText(MainActivity.this, ""+listItem, Toast.LENGTH_SHORT).show();
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.