बफर नहीं कर रहा है मेरे एंड्रॉइड ऐप VideoView
में ऑनलाइन वीडियो स्ट्रीम करता है। फ़ाइल से वीडियो चलाते समय, यह ठीक काम करता है, या यहां तक कि लाइव स्ट्रीमिंग (m3u8
); यह हमेशा एक ही स्रोत से स्ट्रीमिंग करता है, और जब मैं बाहरी प्लेयर/ब्राउज़र का उपयोग करता हूं, तो यह भी ठीक से स्ट्रीम करता है (इसलिए मुझे नहीं लगता कि यह स्रोत के साथ एक मुद्दा है, जो इस तरह की फ़ाइल का एक भिन्नता है: https://publish.dvlabs.com/democracynow/360/dn2016-0810.mp4वीडियो व्यू स्ट्रीम लोड पर्याप्त
एंड्रॉयड मॉनिटर लॉग इस बस से पहले दुर्घटना:
10-13 12:02:56.204 32460-32748/com.workingagenda.democracydroid D/MediaHTTPConnection: filterOutInternalHeaders: key=User-Agent, val= stagefright/1.2 (Linux;Android 6.0.1)
10-13 12:02:56.205 32460-32472/com.workingagenda.democracydroid D/MediaHTTPConnection: proxy null port 0
10-13 12:02:57.904 32460-32460/com.workingagenda.democracydroid D/MediaPlayer: getMetadata
10-13 12:02:58.438 32460-377/com.workingagenda.democracydroid W/MediaPlayer: info/warning (3, 0)
और फिर मैं इन लॉग प्राप्त जब यह दुर्घटनाओं:
012,351,641:10-13 12:05:33.812 32460-32472/com.workingagenda.democracydroid W/MediaHTTPConnection: readAt 26869519/241 => java.net.ProtocolException: unexpected end of stream
10-13 12:08:32.480 32460-3546/com.workingagenda.democracydroid E/MediaPlayer: error (1, -1004)
10-13 12:08:32.480 32460-32460/com.workingagenda.democracydroid E/MediaPlayer: Error (1,-1004)
10-13 12:08:32.481 32460-32460/com.workingagenda.democracydroid D/VideoView: Error: 1,-1004
[ 10-13 12:08:32.512 5066: 453 E/ ]
Destroy C2D instance
[ 10-13 12:08:32.512 5066: 453 E/ ]
Destroy C2D instance
10-13 12:08:32.635 32460-32472/com.workingagenda.democracydroid E/MediaPlayer: error (1, -1004)
10-13 12:08:32.668 32460-32460/com.workingagenda.democracydroid E/MediaPlayer: Error (1,-1004)
10-13 12:08:32.668 32460-32460/com.workingagenda.democracydroid D/VideoView: Error: 1,-1004
मेरे सवाल के बारे में अधिक सटीक होना
- मुझे यह जानना है कि यह त्रुटि क्या है,
E/MediaPlayer: Error (1,-1004)
है (जैसा कि मुझे इसके बारे में वेब पर कोई जानकारी नहीं मिली है)। - यदि मुझे लगता है कि मूल रूप से फ़ाइल/स्ट्रीम त्रुटि के अंत में मुझे संदेह है, तो मुझे कुछ मदद मिल रही है बफरिंग या अन्यथा इस से बचने के लिए वीडियो को लोड करना?
मैं इस सवाल का, Android Streaming with MediaPlayer: Error(1, -1004) and 3GPP video देखा है, लेकिन जवाब ज्यादा मदद नहीं कर रहे हैं।
मैं एक समारोह, MediaPlayer.prepareAsync()
, यहाँ https://developer.android.com/reference/android/media/MediaPlayer.html#prepareAsync(), यह स्वचालित रूप से कहा जाता है जब एक VideoView
एक वीडियो को खोलता है, लेकिन यह काम करने के लिए प्रतीत नहीं होता पाया है।
संपादित
तो समाधान गूगल के ExoPlayer, जो मेरे VideoView के लिए स्वैप करने बहुत आसान था करने के लिए मुझे लाया है, और यह एक आकर्षण की तरह काम करता है।
- गतिविधि
- प्रारंभ
MediaSource
मेंSimpleExoPlayerView
- प्रारंभ
SimpleExoPlayer
के लेआउट में निर्भरता - दृश्य बदलें के रूप में ExoPlayer जोड़ें और खिलाड़ी
- संलग्न जब अब जरूरत
release()
करना न भूलें।
और इसके साथ, स्ट्रीमिंग निर्बाध रूप से काम करती है।
उपयोग https://github.com/google/ExoPlayer – Qamar
हाँ ... कि समाधान – Nevermore