मैं एंड्रॉइड पर ऑनलाइन स्ट्रीमिंग प्लेयर विकसित कर रहा हूं। मैंने पाया कि mediaplayer कभी बफरिंग बंद नहीं होगा! यह बफर के 100% पढ़ता है और 'कुछ' कर रखता है, क्योंकि धारा केवल केवल एक बार पढ़ा जा सकता है और वहाँ कुछ भी नहीं बफ़र के लिए छोड़ दिया ... मुझे लगता है किएंड्रॉइड मेडियाप्लेयर अंतहीन बफरिंग
public void onBufferingUpdate(MediaPlayer player, int percent)
प्रतिशत = 100 के साथ बेहद कहा जाता है यह एक रात में बैटरी नाली। क्या मैं कुछ गलत कर रहा हूं या इस पर कुछ उचित स्पष्टीकरण है? ऐसा लगता है कि बफरिंग रद्द नहीं की जा सकती है, इसे रोकने का एकमात्र तरीका Mediaplayer को रीसेट करना है। मुझे इस अंतहीन 'बफरिंग' को रोकने के लिए कुछ रास्ता चाहिए!
यह मैं कैसे
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDataSource(streamUrl);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnInfoListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.prepareAsync();
लॉग संदेशों मैं देख रहा हूँ MediaPlayer init:
10-30 08:45:21.169: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=93, ext2=0x0
10-30 08:45:22.169: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
10-30 08:45:23.169: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
10-30 08:45:24.172: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
10-30 08:45:25.172: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
...
क्या आपने कभी कुछ भी पता लगाया है? मैं एक ऐप विकसित कर रहा हूं जहां एक वीडियो में एक मीडियाप्लेयर के माध्यम से एक वीडियो खेला जाता है और मुझे एहसास हुआ कि इसे छोड़ने के बाद यह फोन बंद हो गया था, भले ही फोन स्क्रीन बंद हो और सोए! मीडियाप्लेयर को रोकना और रीसेट करना ऐसा लगता है लेकिन यह अभी भी बेहतर होगा अगर मैं इसे रोक सकता हूं, क्योंकि मुझे प्लेयर को फिर से शुरू करना है, फिर से शुरू करने में अधिक समय लगता है। – Flyview
मुझे पता चला कि यह केवल मेरे हुवेई फोन पर इस तरह व्यवहार करता है (कम से कम किसी भी अन्य डिवाइस का परीक्षण मैंने सही ढंग से किया है)। अंत में मैंने इसे इस तरह बनाया: यदि खिलाड़ी कुछ समय के लिए रुक गया है और बफरिंग कर रहा है तो मैं प्लेयर को रीसेट कर देता हूं। – Arvydas