0
我正在開發一個簡單的音頻流android應用程序。在從網址播放音頻時,應用程序還可以選擇下載文件。正在下載音頻文件內部存儲/聲音文件夾。如何在我的應用程序中顯示該文件夾的所有已下載的音頻?我想要訪問聲音文件夾中的所有音頻並在我的應用程序中顯示,以便用戶無需手動搜索文件。請指導。謝謝!如何在Android應用程序中訪問下載的audios文件夾
我正在開發一個簡單的音頻流android應用程序。在從網址播放音頻時,應用程序還可以選擇下載文件。正在下載音頻文件內部存儲/聲音文件夾。如何在我的應用程序中顯示該文件夾的所有已下載的音頻?我想要訪問聲音文件夾中的所有音頻並在我的應用程序中顯示,以便用戶無需手動搜索文件。請指導。謝謝!如何在Android應用程序中訪問下載的audios文件夾
String path = Environment.getExternalStorageDirectory().toString()+"/voices";
Log.d("Files", "Path: " + path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
Log.d("Files", "FileName:" + files[i].getName());
}
這樣你會得到存儲在voices
目錄到files
陣列中的所有文件。
我這樣做是使用下面的代碼:
private ListView mainListView ;
private ArrayAdapter<String> listAdapter ;
private MediaPlayer mp = new MediaPlayer();
private List<String> ListOfFiles = new ArrayList<String>();
String path = Environment.getExternalStorageDirectory().toString()+"/voices";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Find the ListView resource.
mainListView = (ListView) findViewById(R.id.mainListView);
Log.d("Files", "Path: " + path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
Log.d("Files", "FileName:" + files[i].getName());
}
for (int i = 0; i < files.length; i++) {
ListOfFiles.add(files[i].getName());
}
listAdapter = new ArrayAdapter<String>(this, R.layout.row_layout, ListOfFiles);
mainListView.setAdapter(listAdapter);
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
playSong(path +"/"+ ListOfFiles.get(position));
Log.d("Path",path + ListOfFiles.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());
}
}
謝謝您的解決方案。它幫助我獲得文件的名稱並在listview中填充。自定義數組適配器在listview中填充音頻文件的任何幫助,以便它們可以播放? – Noor
@Noor,那是另一個問題。你可以問一個,但首先在互聯網上搜索。 –