Android
ExoPlayer
खोज…
ExoPlayer को प्रोजेक्ट में जोड़ें
Via jCenter
अपनी परियोजना की बिल्ड.ग्रेड फ़ाइल में निम्नलिखित को शामिल करें:
compile 'com.google.android.exoplayer:exoplayer:rX.X.X'
जहाँ rX.XX आपका पसंदीदा संस्करण है। नवीनतम संस्करण के लिए, प्रोजेक्ट की रिलीज़ देखें । अधिक जानकारी के लिए, Bintray पर परियोजना देखें।
एक्सोप्लेयर का उपयोग करना
अपने ExoPlayer को त्वरित करें:
exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT, minBufferMs, minRebufferMs);
केवल ऑडियो चलाने के लिए आप इन मूल्यों का उपयोग कर सकते हैं:
RENDERER_COUNT = 1 //since you want to render simple audio
minBufferMs = 1000
minRebufferMs = 5000
दोनों बफर वैल्यू को आपकी आवश्यकताओं के अनुसार ट्विक किया जा सकता है।
अब आपको एक DataSource बनाना होगा। जब आप एमपी 3 स्ट्रीम करना चाहते हैं तो आप DefaultUriDataSource का उपयोग कर सकते हैं। आपको कॉन्सेप्ट और एक यूजरएज पास करना होगा। इसे रखने के लिए एक स्थानीय फ़ाइल को प्ले करें और null को userAgent के रूप में पास करें:
DataSource dataSource = new DefaultUriDataSource(context, null);
तब नमूना स्रोत बनाएँ:
ExtractorSampleSource sampleSource = new ExtractorSampleSource(
uri, dataSource, new Mp3Extractor(), RENDERER_COUNT, requestedBufferSize);
uri आपकी फ़ाइल की ओर इशारा करता है, एक्सट्रैक्टर के रूप में आप एमपी 3 प्ले करना चाहते हैं तो एक साधारण डिफॉल्ट Mp3Extractor का उपयोग कर सकते हैं। RequestBufferSize को आपकी आवश्यकताओं के अनुसार फिर से ट्विक किया जा सकता है। उदाहरण के लिए 5000 का उपयोग करें।
अब आप नमूना स्रोत का उपयोग करके अपना ऑडियो ट्रैक रेंडर बना सकते हैं:
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
अंत में अपने एक्सोप्लेयर उदाहरण पर कॉल तैयार करें:
exoPlayer.prepare(audioRenderer);
प्लेबैक कॉल शुरू करने के लिए:
exoPlayer.setPlayWhenReady(true);
मानक TrackRenderer कार्यान्वयन का उपयोग करके वीडियो और ऑडियो चलाने के लिए मुख्य कदम
// 1. Instantiate the player.
player = ExoPlayer.Factory.newInstance(RENDERER_COUNT);
// 2. Construct renderers.
MediaCodecVideoTrackRenderer videoRenderer = ...
MediaCodecAudioTrackRenderer audioRenderer = ...
// 3. Inject the renderers through prepare.
player.prepare(videoRenderer, audioRenderer);
// 4. Pass the surface to the video renderer.
player.sendMessage(videoRenderer, MediaCodecVideoTrackRenderer.MSG_SET_SURFACE, surface);
// 5. Start playback.
player.setPlayWhenReady(true);
...
player.release(); // Don’t forget to release when done!