0
我想創建一個項目,我有兩個選項卡(歌曲和圖像) 如果我點擊歌曲選項卡,我想要存儲在我的SD卡中的歌曲的整個列表或內部存儲。同樣,當我進入圖像選項卡時,所有圖像對我都是可見的。 也點擊音樂文件,它應該開始播放音樂和點擊圖像,它應該顯示圖像。有人請給我提供整個代碼? 您的幫助將深受讚賞。從sd卡導入項目和tabview正在使用
我想創建一個項目,我有兩個選項卡(歌曲和圖像) 如果我點擊歌曲選項卡,我想要存儲在我的SD卡中的歌曲的整個列表或內部存儲。同樣,當我進入圖像選項卡時,所有圖像對我都是可見的。 也點擊音樂文件,它應該開始播放音樂和點擊圖像,它應該顯示圖像。有人請給我提供整個代碼? 您的幫助將深受讚賞。從sd卡導入項目和tabview正在使用
要找到SD卡上的所有音頻文件,創建這樣
private void findAllMusicFiles()
{
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaStore.Audio.AudioColumns.DATA, MediaStore.Audio.AudioColumns.DISPLAY_NAME };
Cursor audioCursor = getApplicationContext().getContentResolver().query(uri, projection, null, null, null);
if (audioCursor != null) {
while (audioCursor.moveToNext()) {
mediaNameList.add(audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.AudioColumns.DISPLAY_NAME)));
mediaPathList.add(audioCursor.getString(0));
}
audioCursor.close();
}
}
mediaNameList的方法只包含文件的名稱顯示
mediaPathList包含對這些文件的路徑
兩個這些是數組列表
將這些列表傳遞給適配器並調用onItemClickListener以獲取文件的路徑(按位置)臨時t您想要玩
使用媒體播放器播放選定的歌曲,你可以試試下面的(這部分仍處於開發階段,所以你可能會得到一些問題)
songList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
// TODO Auto-generated method stub
//Toast.makeText(mContext, mediaNameList.get(position), Toast.LENGTH_LONG).show();
setVolumeControlStream(AudioManager.STREAM_MUSIC);
try {
if(player.isPlaying()){
player.stop();
player.release();
player=null;
}else{
player.reset();
player.setDataSource(mediaPathList.get(position));
player.prepare();
player.start();
}
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
}
點擊歌曲名稱,一旦啓動玩,點擊第二次停止
thanku但我想你沒有得到我的問題。 – user3608017
參考你的第一個代碼,我是否必須製作任何XML文件或edir我的主XML文件? – user3608017
是的,你將不得不爲你的歌曲名稱列表看起來像xml製作xml,並在你的適配器中使用這個xml。我給你的兩個數組列表mediaNameList和mediaPathList將作爲該歌曲列表的數據。同樣,你也可以準備你的圖片列表。我給你的只是通過整個SD卡和邏輯給出一個關於搜索邏輯的想法來播放和停止音頻文件。 – Kaustuv