हम एंगस्ट्रॉम लिनक्स पर ffserver/ffmpeg से http के माध्यम से ऑडियो स्ट्रीम कर रहे हैं। एफएमपीपीईजी ऑडियो कोडेक पीसीएम 16-बिट थोड़ा एंडियन "पीसीएम_एस 16 एल" पर हस्ताक्षर किया गया है। Ffmpeg स्ट्रीम प्रारूप "wav" है। इन दोनों को एंड्रॉइड पर समर्थित होने का दावा किया गया है: http://developer.android.com/guide/appendix/media-formats.html#coreएंड्रॉइड स्ट्रीमिंग WAV ऑडियो त्रुटि: MediaPlayer तैयार विफल: स्थिति = 0x1
वीएलसी बिना किसी समस्या के स्ट्रीम को ढूंढता है और चलाता है। वीएलसी के तहत "कोडेक विवरण", यह कहते हैं: प्रकार: ऑडियो, कोडेक: पीसीएम S16 LE (Araw) चैनल: स्टीरियो नमूना दर: 48000 हर्ट्ज नमूना प्रति बिट: 16
हम साधारण परीक्षण आवेदन बनाया एंड्रॉइड में स्ट्रीम लेने और स्ट्रीम करने के लिए नीचे और यह त्रुटि प्राप्त करें: java.io.IOException: विफल विफल: स्थिति = 0x1
हमने HTTP डीबगर प्रो का उपयोग कर HTTP शीर्षलेख की जांच की। रिस्पांस हैडर आइटम (जब वीएलसी के माध्यम से सामान्य रूप से करते हैं): [प्रतिक्रिया]: एचटीटीपी/1.0 200 ठीक Pragma: कोई कैश सामग्री प्रकार: ऑडियो/x-wav
हम वेब की खोज की है इस मुद्दे पर दो दिनों से अधिक मदद के लिए और खाली हाथ आ गया है। कोई मदद बहुत की सराहना की जाएगी।
------------ टेस्ट एपीपी ------------------------ पैकेज com.shaneahern.streamtest; आयात java.io.IOException; आयात android.app.Activity; आयात android.media.AudioManager; आयात android.media.MediaPlayer; आयात android.os.Bundle; आयात android.util.Log;
सार्वजनिक वर्ग BareBonesStreamTestActivity गतिविधि { @Override सार्वजनिक शून्य OnCreate (बंडल savedInstanceState) { super.onCreate (savedInstanceState) फैली हुई है;
String streamUrl = "http://192.168.24.123:8080/test.wav";
MediaPlayer mp = new MediaPlayer();
Log.i("BareBonesStreamTestActivity", "MediaPlayer created");
try {
mp.setDataSource(streamUrl);
Log.i("BareBonesStreamTestActivity", "setDataSource to " + streamUrl);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
Log.i("BareBonesStreamTestActivity", "setAudioStreamType to AudioManager.STREAM_MUSIC");
mp.prepare();
Log.i("BareBonesStreamTestActivity", "prepare succeeded, calling start");
mp.start();
} catch (IllegalStateException e) {
Log.i("BareBonesStreamTestActivity", "prepare failed with IllegalStateException");
e.printStackTrace();
} catch (IOException e) {
Log.i("BareBonesStreamTestActivity", "prepare failed with IOException");
e.printStackTrace();
}
}
}
------------ त्रुटि लॉग ------------------------
I/BareBonesStreamTestActivity( 727): MediaPlayer created
I/StagefrightPlayer( 33): setDataSource('http://192.168.24.123:8080/ test.wav')
I/BareBonesStreamTestActivity( 727): setDataSource to http://192.168.24.123:8080/test.wav
I/BareBonesStreamTestActivity( 727): setAudioStreamType to AudioManager.STREAM_MUSIC
E/MediaPlayer( 727): error (1, -2147483648)
I/BareBonesStreamTestActivity( 727): prepare failed with IOException
W/System.err( 727): java.io.IOException: Prepare failed.: status=0x1
W/System.err( 727): at android.media.MediaPlayer.prepare(Native Method)
W/System.err( 727): at com.shaneahern.streamtest.BareBonesStreamTestActivity.onCreate(BareBonesStr eamTestActivity.java: 30)
W/System.err( 727): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: 1047)
W/System.err( 727): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2627)
W/System.err( 727): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2679)
W/System.err( 727): at android.app.ActivityThread.access $2300(ActivityThread.java:125)
W/System.err( 727): at android.app.ActivityThread $H.handleMessage(ActivityThread.java:2033)
W/System.err( 727): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 727): at android.os.Looper.loop(Looper.java:123)
W/System.err( 727): at android.app.ActivityThread.main(ActivityThread.java:4627)
W/System.err( 727): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 727): at java.lang.reflect.Method.invoke(Method.java:521)
W/System.err( 727): at com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:868)
W/System.err( 727): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
W/System.err( 727): at dalvik.system.NativeStart.main(Native Method)
अच्छा विचारों! धन्यवाद! मैं इसे देख लूँगा। – nbonwit