का उपयोग कर समस्या तैयार करते हैं, मुझे एक वीडियो स्ट्रीमिंग एप्लिकेशन के साथ एक अजीब समस्या का सामना करना पड़ रहा है जिस पर मैं काम कर रहा हूं। वीडियो/ऑडियो की वास्तविक स्ट्रीमिंग मेरे सभी परीक्षण उपकरणों पर ठीक काम कर रही है। हालांकि, आरटीएसपी यूआरएल का उपयोग करते समय, किसी भी डिवाइस 4.0+ पर, तैयार() तुरंत लौटता है (इससे वीडियो को लोड होने और कुछ अन्य सिस्टमों में हस्तक्षेप करते समय उपयोगकर्ताओं को उचित प्रतिक्रिया प्रदान करने का कोई कारण होता है)।एंड्रॉइड 4.0.4 मीडियाप्लेयर आरटीएसपी यूआरएल
नीचे कोड मैं कहाँ प्रारंभ और सेटअप मेरी MediaPlayer के ब्लॉक है, लेकिन मन में कुछ चीजें रखना:
- मेरे initPlayer विधि एक AsyncTask से कहा जाता है।
- वीडियो अंततः सही ढंग से खेलता है, लेकिन वीडियो लोड के दौरान तुरंत लौटने की तैयारी उपयोगकर्ता को फीडबैक की कमी बनाता है। पूरी प्रक्रिया के दौरान
- किसी भी प्रकार की कोई त्रुटि नहीं पाए जाते हैं
- start() मेरी OnPreparedListener, जो स्पष्ट रूप से जब तैयार (एक मुद्दा बन जाता में MediaPlayer पर कहा जाता है onPrepared विधि के माध्यम से) देता है इससे पहले कि यह वास्तव में खेला जा करने के लिए तैयार है ।
- HTTP स्ट्रीम ठीक काम करने लगते हैं, और 4.0 से नीचे प्रत्येक टेस्ट डिवाइस पर समस्या उत्पन्न नहीं होती है।
मैं इसे हास्यास्पद समय के लिए ठीक करने की कोशिश कर रहा हूं, और इस समस्या में भाग लेने वाले किसी और को खोजने में सक्षम नहीं हूं। किसी भी विचार की बहुत प्रशंसा की जाएगी।
public void initPlayer() {
//We first need to make sure the MediaPlayer isn't null
if(mMediaPlayer==null){
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnPreparedListener(mediaPlayerPreparedListener);
mMediaPlayer.setOnCompletionListener(mediaPlayerCompletionListener);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
//If a video/stream has been chosen while another is already playing
else if(mMediaPlayer.isPlaying()){
mMediaPlayer.reset();
}
//Video is not in full screen mode
second = false;
try {
mMediaPlayer.setDataSource(videoString);
holder = mPreview.getHolder();
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//onPreparedListener
private OnPreparedListener mediaPlayerPreparedListener = new OnPreparedListener(){
public void onPrepared(MediaPlayer mp) {
mp.start();
vidPb.setVisibility(View.INVISIBLE);
}
};
मैं अभी एक ही मुद्दे का सामना करना पड़ रहा हूँ:
सभी सब में, यह कुछ इस तरह दिखता चाहिए। क्या आपने समस्या का समाधान किया है? यदि हां कृपया समाधान के साथ अपने प्रश्न का उत्तर दें। इंतज़ार कर रही...!!! –
कोई समाधान ??? –
दुर्भाग्यवश मुझे कोई समाधान नहीं मिला, हालांकि मैंने कुछ समय पहले इस परियोजना पर काम करना बंद कर दिया था। – bread