2011-03-25 11 views
8

मैं एक संगीत प्लेयर ऐप लिख रहा हूं और मुझे आश्चर्य है कि मुझे उपयोगकर्ता की संगीत फ़ाइलों को कहां देखना चाहिए। मैं उन सभी गानों को ढूंढना चाहता हूं जो संगीत ऐप को आम तौर पर पाता है और मैं उत्सुक हूं कि ऐप को गाने कैसे मिलते हैं। क्या एक विशिष्ट फ़ोल्डर के लिए एक enum चर है? एसडी कार्ड की बस एक रिकर्सिव खोज? मुझे अपने फोन के एसडी कार्ड पर पता है कि एक संगीत फ़ोल्डर है; यह है कि यह हर एंड्रॉइड डिवाइस पर कैसा है और क्या मुझे बस उस फ़ोल्डर को फिर से खोजना चाहिए? या क्या मुझे सिर्फ उपयोगकर्ता को फ़ोल्डर ढूंढने के लिए कहा जाना चाहिए?एंड्रॉइड संगीत फाइल स्थान?

उत्तर

14

आप नीचे दिए गए फ़ंक्शन का उपयोग करके एसडीकार्ड से सभी संगीत फ़ाइलों को पा सकते हैं।

public void getAllSongsFromSDCARD() 
{ 
    String[] STAR = { "*" };   
    Uri allsongsuri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
    String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0"; 

    cursor = managedQuery(allsongsuri, STAR, selection, null, null); 

    if (cursor != null) { 
     if (cursor.moveToFirst()) { 
      do { 
       String song_name = cursor 
         .getString(cursor 
           .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME)); 
       int song_id = cursor.getInt(cursor 
         .getColumnIndex(MediaStore.Audio.Media._ID)); 

       String fullpath = cursor.getString(cursor 
         .getColumnIndex(MediaStore.Audio.Media.DATA)); 


       String album_name = cursor.getString(cursor 
         .getColumnIndex(MediaStore.Audio.Media.ALBUM)); 
       int album_id = cursor.getInt(cursor 
         .getColumnIndex(MediaStore.Audio.Media.ALBUM_ID)); 

       String artist_name = cursor.getString(cursor 
         .getColumnIndex(MediaStore.Audio.Media.ARTIST)); 
       int artist_id = cursor.getInt(cursor 
         .getColumnIndex(MediaStore.Audio.Media.ARTIST_ID)); 



      } while (cursor.moveToNext()); 

     } 
     cursor.close(); 
    } 
} 
+0

बहुत बढ़िया, जो वास्तव में एंड्रॉइड ओएस की कुछ संरचनाओं में मेरी आंखें खोलता है। यह इतना आसान ऐप है, लेकिन मैं इतना सीख रहा हूं। धन्यवाद। –

+0

आपका स्वागत है ... –

2

एंड्रॉइड स्वचालित रूप से ऑडियो और इंडेक्स के लिए सभी बाहरी एसडी कार्ड स्कैन करता है, विवरण के लिए MediaStore.Audio कक्षा देखें। यह आपको एल्बम, कलाकार, शैलियों और प्लेलिस्ट द्वारा पूछताछ करने की अनुमति देता है। यदि आप सिर्फ सामग्री प्रदाता MediaStore.Audio.Media.EXTERNAL_CONTENT_URI से पूछताछ करके मीडिया फ़ाइलों की एक सूची प्राप्त कर सकते हैं।

संबंधित मुद्दे