2015-07-24 7 views
7

एक्सप्लेयर लाइब्रेरी मेरे लिए बहुत जटिल लगती है। क्या कोई मुझे exoplayer लाइब्रेरी का उपयोग कर रेडियो स्टेशन यूआरएल स्ट्रीम करने में मदद कर सकता है? मैंने मीडियाप्लेयर के साथ प्रयास किया, यह ठीक काम करता है लेकिन इसे तैयार करने में इतना समय लगा। मैंने कोशिश की है।exoplayer का उपयोग कर एमपी 3 यूआरएल स्ट्रीम कैसे करें?

exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT); 

    Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE); 
    DataSource dataSource = new DefaultUriDataSource(getApplicationContext(), null, userAgent); 
    Mp3Extractor extractor = new Mp3Extractor(); 
    ExtractorSampleSource sampleSource = new ExtractorSampleSource(
      uri, dataSource, extractor, allocator, BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE); 
    MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource); 
    exoPlayer.prepare(audioRenderer); 

    exoPlayer.setPlayWhenReady(true); 

मुझे समझ में नहीं आता कि उपयोगकर्ता कैसे प्राप्त करें और इसका क्या अर्थ है? इसके अलावा यहाँ कैसे एक प्रयोक्ता एजेंट की तरह दिखना चाहिए की परिभाषा user agent :

+0

@ user1438038 मैंने अपना कोड –

+0

जोड़ा है क्या आपका ऐप क्रैश हो रहा है या सटीक समस्या क्या है? यदि हां, तो क्या आप लॉग प्रदान कर सकते हैं? मैंने उपयोगकर्ता एजेंट के बारे में आपके प्रश्न का उत्तर दिया है, लेकिन मुझे यकीन नहीं है कि यह आपके सामने आने वाली समस्याओं का समाधान करेगा, क्योंकि ऐसा लगता है कि कोई अन्य समस्या है। – mismor

+0

इस अन्य धागे में मेरा उत्तर देखें: http://stackoverflow.com/a/43722033 –

उत्तर

5

यहाँ एक अच्छा होता है जिसे उपयोगकर्ता एजेंट है का वर्णन है structure of user agent header यहाँ आप देख सकते हैं कि आपके ब्राउज़र की उपयोगकर्ता एजेंट लगता है: http://whatsmyuseragent.com/

कहें यह बस आप इस तरह आपके प्रयोक्ता एजेंट बना सकते हैं: अंत में एक विवरण

"YourAppName/संस्करण कोड"

एमपी 3 स्ट्रीम करने के लिए एक्सोप्लेयर का उपयोग कैसे करें: Stream mp3 with ExoPlayer इस उदाहरण में यह एक स्थानीय एमपी 3 है, लेकिन केवल अंतर एमपी 3 और गायब उपयोगकर्ता एजेंट का यूआरएल होना चाहिए। उम्मीद है कि यह मदद करता है!

1

ExoPlayer Lib का उपयोग करके m3u8 फ़ाइलों को स्ट्रीम करने का यह सबसे आसान तरीका है। जांच के लिए इस कोड और भूल जाओ तुम्हारा करने के लिए यूआरएल को बदलने और भी सामग्री प्रकार परिवर्तित करने के लिए नहीं है के रूप में कोड विस्फोट से उड़ा दिया मदद करने के लिए आशा https://github.com/karim23/SimpleStreamPlayer/tree/master

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    context = getApplicationContext(); 
    setContentView(R.layout.activity_main); 
    //change the live streaming URL with yours. 
    contentUri = /*"Your mp3 URL.."*/; 
    // contentType = DemoUtil.TYPE_MP3; 
    final Intent intent = new Intent(context, VideoPlayerActivity.class).setData(Uri.parse(contentUri)) 
      .putExtra(VideoPlayerActivity.CONTENT_ID_EXTRA, -1) 
      //Change the type according to the live streaming extension. 
      .putExtra(VideoPlayerActivity.CONTENT_TYPE_EXTRA, DemoUtil.TYPE_MP3); 
    liveStreamingTv =(TextView)findViewById(R.id.mainActivity_liveStreamingTv); 
    liveStreamingTv.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      startActivity(intent); 
     } 
    }); 
} 
0

यह कोडेक के साथ समस्या, exoPlayer aac का समर्थन नहीं करता था +

+0

मुझे लगता है कि यह एएसी का समर्थन करता है। मैं एक्सोप्लेयर का उपयोग कर एएसी फाइलों को चलाने में सक्षम हूं। लेकिन मैं किसी भी तरह से अवधि प्राप्त करने में सक्षम नहीं हूँ() –

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