2011-11-26 12 views
7
में एक .pls फ़ाइल

किसी को भी मेरी मदद कैसे पार्स करने के लिए कर सकते हैं खेलते हैं और इस .pls एंड्रॉयडपार्स और एंड्रॉयड

[playlist] 
NumberOfEntries=1 
File1=http://stream.radiosai.net:8002/ 

उत्तर

12

एक त्वरित खोज है कि, द्वारा एनपीआर ऐप्लिकेशन से इस बहुत ही बुनियादी PlsParser के परिणामस्वरूप में फ़ाइल को चलाने इसकी प्रकृति, बस .pls फ़ाइल को पार्स कर देगी और स्ट्रिंग की सूची में सभी एम्बेडेड यूआरएल वापस कर देगी। आप शायद इसे एक शुरुआती बिंदु के रूप में देखना चाहते हैं।

उसके बाद, आपको MediaPlayer ऑब्जेक्ट पर यूआरएल फ़ीड करने में सक्षम होना चाहिए, हालांकि मुझे पूरी तरह से यकीन नहीं है कि प्रारूप/प्रोटोकॉल समर्थित हैं या स्ट्रीमिंग के मामले में कौन सी सीमाएं लागू हो सकती हैं। मीडिया प्लेयर कॉल का अनुक्रम कुछ हद तक दिखाई देगा।

MediaPlayer mp = new MediaPlayer(); 
mp.setDataSource("http://stream.radiosai.net:8002/"); 
mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mp.prepare(); //also consider mp.prepareAsync(). 
mp.start(); 

अद्यतन: जहां तक ​​मेरा बता सकते हैं, आप लगभग सचमुच संदर्भित कोड लेते हैं और इसे अपने स्वयं के उपयोग डाल सकते हैं। ध्यान दें कि नीचे दिया गया कोड पूर्ण या परीक्षण नहीं है।

public class PlsParser { 
     private final BufferedReader reader; 

     public PlsParser(String url) { 
      URLConnection urlConnection = new URL(url).openConnection(); 
      this.reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 
     } 

     public List<String> getUrls() { 
      LinkedList<String> urls = new LinkedList<String>(); 
      while (true) { 
       try { 
        String line = reader.readLine(); 
        if (line == null) { 
         break; 
        } 
        String url = parseLine(line); 
        if (url != null && !url.equals("")) { 
         urls.add(url); 
        } 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
      return urls; 
     } 

     private String parseLine(String line) { 
      if (line == null) { 
       return null; 
      } 
      String trimmed = line.trim(); 
      if (trimmed.indexOf("http") >= 0) { 
       return trimmed.substring(trimmed.indexOf("http")); 
      } 
      return ""; 
     } 
} 

एक बार जब आप गए हैं, आपको बस एक नया PlsParser .pls फ़ाइल का url के साथ बना सकते हैं और बाद में getUrls कॉल कर सकते हैं। प्रत्येक सूची आइटम एक यूआरएल होगा जैसा कि .pls फ़ाइल में मिलता है। आपके मामले में यह केवल http://stream.radiosai.net:8002/ होगा। जैसा कि कहा गया है, आप इसे मीडियाप्लेयर को खिला सकते हैं।

+1

@ क्या आप मुझे बता सकते हैं कि इस सामग्री को कैसे पार्स करें ... कोई कोड – user1048958

+0

मुझे पूरा यकीन नहीं है कि आपको किस हिस्से में परेशानी हो रही है? मैंने शुरू करने में आपकी सहायता के लिए वास्तविक पार्सिंग से संबंधित कुछ कोड जोड़े। यदि आप जो खोज रहे हैं वह नहीं है, तो कृपया जो कुछ आप पूरा करने की कोशिश कर रहे हैं उस पर थोड़ा और विस्तार करें। –

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