प्रोग्रेसिव

नीचे दिए गए कंटेनर फ़ॉर्मैट की स्ट्रीम, ExoPlayer से सीधे चलाई जा सकती है. शामिल किए गए ऑडियो और वीडियो सैंपल फ़ॉर्मैट भी काम करने चाहिए (देखें ज़्यादा जानकारी के लिए, फ़ॉर्मैट के सैंपल सेक्शन). इमेज कंटेनर और फ़ॉर्मैट से जुड़ी सहायता के लिए, इसे देखें इमेज.

कंटेनर का फ़ॉर्मैट इनकी अनुमति है टिप्पणियां
MP4 हां
एम4ए हां
एफ़एमपी4 हां
WebM हां
मैट्रोस्का हां
MP3 हां कुछ स्ट्रीम, लगातार बिटरेट में वीडियो देखने की सुविधा का इस्तेमाल करके ही खोजी जा सकती हैं**
ऑग हां इसमें Vorbis, Opus, और FLAC शामिल है
डब्ल्यूएवी हां
एमपीईजी-टीएस हां
एमपीईजी-पीएस हां
FLV हां खोजी नहीं जा सकती*
ADTS (AAC) हां कॉन्स्टेंट बिटरेट का इस्तेमाल करके सिर्फ़ वीडियो खोजा जा सकता है**
FLAC हां FLAC लाइब्रेरी या ExoPlayer लाइब्रेरी में FLAC एक्सट्रैक्टर का इस्तेमाल करना***
एएमआर हां कॉन्स्टेंट बिटरेट का इस्तेमाल करके सिर्फ़ वीडियो खोजा जा सकता है**

* खोजने की सुविधा काम नहीं कर रही है, क्योंकि कंटेनर मेटाडेटा नहीं देता (उदाहरण के लिए, सैंपल इंडेक्स) का इस्तेमाल किया जाता है. इससे मीडिया प्लेयर को बेहतर तरीके से खोज करने की सुविधा मिलती है. अगर वीडियो में आगे/पीछे जाना ज़रूरी है, तो हमारा सुझाव है कि आप ज़्यादा सही कंटेनर फ़ॉर्मैट का इस्तेमाल करें.

** डेटा इकट्ठा करने वाले इन टूल में इसके लिए FLAG_ENABLE_CONSTANT_BITRATE_SEEKING फ़्लैग हैं कॉन्स्टेंट बिटरेट का इस्तेमाल करके, वीडियो के आगे-पीछे जाने की सुविधा चालू कर सकते हैं. यह की सुविधा डिफ़ॉल्ट रूप से चालू नहीं होती है. इसे चालू करने का सबसे आसान तरीका डेटा इकट्ठा करने वाले उन सभी टूल के लिए फ़ंक्शन का इस्तेमाल करना जो इस प्रोसेस को सपोर्ट करते हैं DefaultExtractorsFactory.setConstantBitrateSeekingEnabled, जैसा बताया गया है यहां क्लिक करें.

*** FLAC लाइब्रेरी डेटा इकट्ठा करने वाला टूल, रॉ ऑडियो देता है, जिसे हैंडल किया जा सकता है को लागू किया जा सकता है. ExoPlayer लाइब्रेरी FLAC एक्सट्रैक्टर आउटपुट FLAC ऑडियो फ़्रेम. इसलिए, यह ज़रूरी है कि FLAC डिकोडर हो. उदाहरण के लिए, MediaCodec डिकोडर जो FLAC (एपीआई लेवल 27 के लिए ज़रूरी है) को हैंडल करता है या FFmpeg लाइब्रेरी जिसमें FLAC चालू हो). DefaultExtractorsFactory, एक्सटेंशन इकट्ठा करने वाला टूल, अगर ऐप्लिकेशन FLAC लाइब्रेरी की मदद से बनाया गया हो. अगर ऐसा नहीं है, तो यह ExoPlayer लाइब्रेरी के डेटा इकट्ठा करने वाले टूल का इस्तेमाल करता है.

MediaItem का इस्तेमाल किया जा रहा है

प्रोग्रेसिव स्ट्रीम चलाने के लिए, मीडिया यूआरआई के साथ MediaItem बनाएं और पास उसे प्लेयर में ही रखें.

Kotlin

// Create a player instance.
val player = ExoPlayer.Builder(context).build()
// Set the media item to be played.
player.setMediaItem(MediaItem.fromUri(progressiveUri))
// Prepare the player.
player.prepare()

Java

// Create a player instance.
ExoPlayer player = new ExoPlayer.Builder(context).build();
// Set the media item to be played.
player.setMediaItem(MediaItem.fromUri(progressiveUri));
// Prepare the player.
player.prepare();

प्रोग्रेसिवMediaSource का इस्तेमाल करना

पसंद के मुताबिक बनाने के ज़्यादा विकल्प देखने के लिए, ProgressiveMediaSource बनाएं और MediaItem के बजाय, उसे सीधे प्लेयर को पास करें.

Kotlin

// Create a data source factory.
val dataSourceFactory: DataSource.Factory = DefaultHttpDataSource.Factory()
// Create a progressive media source pointing to a stream uri.
val mediaSource: MediaSource =
ProgressiveMediaSource.Factory(dataSourceFactory)
    .createMediaSource(MediaItem.fromUri(progressiveUri))
// Create a player instance.
val player = ExoPlayer.Builder(context).build()
// Set the media source to be played.
player.setMediaSource(mediaSource)
// Prepare the player.
player.prepare()

Java

// Create a data source factory.
DataSource.Factory dataSourceFactory = new DefaultHttpDataSource.Factory();
// Create a progressive media source pointing to a stream uri.
MediaSource mediaSource =
    new ProgressiveMediaSource.Factory(dataSourceFactory)
        .createMediaSource(MediaItem.fromUri(progressiveUri));
// Create a player instance.
ExoPlayer player = new ExoPlayer.Builder(context).build();
// Set the media source to be played.
player.setMediaSource(mediaSource);
// Prepare the player.
player.prepare();

प्लेबैक को अपनी पसंद के मुताबिक बनाया जा रहा है

ExoPlayer पर वीडियो चलाने का अनुभव बेहतर बनाने के लिए, इसमें आपको कई तरीके मिलते हैं की ज़रूरतों को पूरा करता है. उदाहरण के लिए, कस्टमाइज़ेशन पेज देखें.