मेरे पास एक एंड्रॉइड प्रोजेक्ट है जहां मुझे यूडीपी या आरटीपी यूनिकास्ट वीडियो स्ट्रीम प्राप्त करने और उन्हें वापस चलाने के लिए क्लाइंट ऐप बनाने की आवश्यकता है। दुर्भाग्यवश, मुझे यह काम नहीं मिल रहा है और समाधान के लिए बड़े पैमाने पर खोज की गई है!एंड्रॉइड पर यूडीपी वीडियो स्ट्रीमिंग
मैं ज़ूम (एंड्रॉइड 3.2) और नेक्सस एस (एंड्रॉइड 2.3.6) पर परीक्षण कर रहा हूं और जानता हूं कि क्लाइंट के रूप में MX Player (एक तृतीय-पक्ष मीडिया प्लेयर ऐप) का उपयोग करते समय वे सामग्री चला सकते हैं लेकिन मैं सामग्री को वापस चलाने के लिए मूल मीडिया प्लेयर नहीं मिल सकता है। मैंने एक साधारण वीडियो व्यू और मीडियाप्लेयर दोनों का उपयोग करने का प्रयास किया है, लेकिन दोनों एक ही त्रुटि कोड के साथ विफल हो जाते हैं और मुझे वास्तव में कोई उपयोगी जानकारी नहीं मिल सकती है।
वीडियो एच 2264 एएसी ऑडियो के साथ एन्कोड किया गया है।
इसके अलावा, सर्वर एक तृतीय पक्ष द्वारा एक समाधान है जिसके पास मेरे पास कोई पहुंच नहीं है (udp या rtp निर्दिष्ट करने के अलावा) लेकिन जैसा कि मैंने कहा, एमएक्स प्लेयर का उपयोग करते समय, धाराएं खेली जा सकती हैं।
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
MediaPlayer player = new MediaPlayer();
SurfaceView surface = (SurfaceView) findViewById(R.id.video);
player.setDisplay(surface.getHolder());
player.setDataSource(this, Uri.parse("udp://192.168.0.78:1234"));
player.prepare();
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Log.d("SimpleVideoPlayer", "Starting player");
mp.start();
}
});
player.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("SimpleVideoPlayer", "error with code: " + what);
return false;
}
});
}catch(Exception e) {
e.printStackTrace();
}
}
त्रुटि मैं प्राप्त कर रहा हूँ है:
11-29 15:44:14.660: D/MediaPlayer(15451): Couldn't open file on client side, trying server side
11-29 15:44:14.670: E/MediaPlayer(15451): error (1, -2147483648)
11-29 15:44:14.670: W/System.err(15451): java.io.IOException: Prepare failed.: status=0x1
11-29 15:44:14.670: W/System.err(15451): at android.media.MediaPlayer.prepare(Native Method)
11-29 15:44:14.670: W/System.err(15451): at com.android.vidplayer.Main.onCreate(Main.java:26)
11-29 15:44:14.670: W/System.err(15451): at android.app.Activity.performCreate(Activity.java:4397)
11-29 15:44:14.670: W/System.err(15451): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
11-29 15:44:14.670: W/System.err(15451): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1804)
11-29 15:44:14.670: W/System.err(15451): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1856)
11-29 15:44:14.670: W/System.err(15451): at android.app.ActivityThread.access$500(ActivityThread.java:125)
11-29 15:44:14.670: W/System.err(15451): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1049)
11-29 15:44:14.670: W/System.err(15451): at android.os.Handler.dispatchMessage(Handler.java:99)
11-29 15:44:14.670: W/System.err(15451): at android.os.Looper.loop(Looper.java:132)
11-29 15:44:14.670: W/System.err(15451): at android.app.ActivityThread.main(ActivityThread.java:4157)
11-29 15:44:14.670: W/System.err(15451): at java.lang.reflect.Method.invokeNative(Native Method)
11-29 15:44:14.670: W/System.err(15451): at java.lang.reflect.Method.invoke(Method.java:491)
11-29 15:44:14.670: W/System.err(15451): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
11-29 15:44:14.670: W/System.err(15451): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
11-29 15:44:14.670: W/System.err(15451): at dalvik.system.NativeStart.main(Native Method)
मैं इंटरनेट अनुमतियों भी निर्धारित किया है
यहाँ मेरी कोड के मीडिया प्लेयर हिस्सा है।
क्या किसी के पास कोई सुझाव है ?? मुझे कहीं भी कोई उपयोगी जानकारी नहीं मिल रही है।
धन्यवाद।
क्या आपने 'player.prepare()' के बजाय 'player.prepareAysnc()' का उपयोग करने का प्रयास किया है? धाराओं को चलाने के दौरान आपको 'readyAsync() 'का उपयोग करना चाहिए। – Squonk