मैंने कुछ ऑडियो स्ट्रीम करने के लिए एक्सप्लेयर का उपयोग शुरू किया। जब तक मैं एक ऐसे यूआरएल में नहीं आया, तब तक सब ठीक था जब "301 स्थायी रूप से हटाया गया" रीडायरेक्ट किया गया था। ExoPlayer2 डिफ़ॉल्ट रूप से इसे संभाल नहीं करता है।ExoPlayer2 - मैं एक HTTP 301 पुनर्निर्देशित कार्य कैसे कर सकता हूं?
मैं पहले से ही इस सूत्र देखा है: https://github.com/google/ExoPlayer/issues/423
वहाँ वे नई 'allowCrossDomainRedirects "फ्लैग जोड़ने के कहने के लिए या तो एक HttpDataSource या UriDataSource। समस्या यह है कि मैं उन वर्गों में से किसी का उपयोग नहीं करते है:
//I am NOT using SimpleExoPlayer because I need a different renderer.
exoPlayer = ExoPlayerFactory.newInstance(renderers, trackSelector, loadControl);
final DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(
context,
Util.getUserAgent(context, applicationInfo.getAppName())
);
// Produces Extractor instances for parsing the media data.
final ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
// This is the MediaSource representing the media to be played.
MediaSource mediaSource = new ExtractorMediaSource(
Uri.parse(media.getUriString()) /* uri */,
dataSourceFactory,
extractorsFactory,
10,
null /* eventHandler */,
null /* eventListener */);
exoPlayer.prepare(mediaSource);
देखें कैसे ExtractorMediaSource एक डेटास्रोत के बजाय एक dataSourceFactory की आवश्यकता है। वास्तव में मैं ExoPlayer2 पर HttpDataSource और UriDataSource कक्षाओं को भी नहीं ढूंढ सकता। ऐसा लगता है कि उन्हें हटा दिया गया है।
इसलिए मुझे पोस्ट पर उल्लिखित ध्वज जोड़ने का कोई तरीका नहीं मिल रहा है। क्या कोई मेरी मदद कर सकता है?
नमूना कोड और स्पष्टीकरण के लिए धन्यवाद - बहुत सराहना की! – gmcnaughton