2013-11-21 30 views
1

我有一個應用程序(android)必須列出所有由我的應用程序創建的錄製的音頻,並且在此路徑上:Dir_recorded_audios意思是這樣的:/mnt/sdcard /我的音頻/ 我需要諸如音頻的DURATION之類的一些細節。它有什麼問題? 太多,我讀了這些鏈接:光標爲我的audios dosnt工作在我的folder.how它工作嗎?(已解決)

Construct MediaStore URI for specific folder

Empty cursor from the MediaStore

Get all audio files from a folder

,但我很confused.any幫助將讓我happy.this nesseray我知道的問題,正確的solveing我很感謝你。 在這裏是我的完整代碼:

enter code herepublic static void getAllRecordedAudios(Context context) 
{ 

     String name=""; 
     String format=""; 

     String path=""; 
     String size=""; 
     String totalTime=""; 
     String createTime=""; 
     String createDate=""; 
     String[] star={"*"};   
     Cursor audioCursor = ((Activity)context). managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,star, null, null, null);  

    if (audioCursor==null) 
     Log.d("audio cursor is null",""); 

    if (audioCursor != null) 
    { 
     if (audioCursor.moveToFirst()) 
     { 
      do 
      { 
       String path = audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.DATA)); 
        name=audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));   
        String str_duration=audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.DURATION));  
        totalTime=SDcard.CalTotalTime(Integer.valueOf(str_duration)); 



        String last =audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.DATE_MODIFIED));  
        createDate=last; 
        size=audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.SIZE));  
        format=SDcard.getFormat(current_path); 

       Log.d("************", "**************"); 
       Log.d("name", name); 
       Log.d("format", format); 
       Log.d("path",path); 
       Log.d("totalTime", totalTime); 
       Log.d("size", size); 
       Log.d("createTime", createTime); 
       Log.d("createdate", createDate); 

       StructureDetails audioDetails=new StructureDetails(name, format, path,totalTime , size , createTime , createDate);   

      ArrayManager.Add_ThisAudio_ToArrayRecorded(audioDetails); 
       }while (audioCursor.moveToNext()); 
     } 
      audioCursor.close(); 
    }     


} 
+0

您可以播放歌曲嗎?或者你的問題是從'sd卡'抓歌? –

+0

你可以接受你的答案,我們可以投你一票 –

+0

謝謝.................... –

回答

0

此代碼是正確的。問題是:當我通過錄制到我的文件夾添加音頻必須刷新mediaStore.I找到此代碼,並在上市之前我稱它。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 
相關問題