我一直在尝试传输.asx文件但它无法正常工作,媒体播放器会返回错误。
这是我的代码
MediaPlayer mp = new MediaPlayer();
MediaPlayer mp = new MediaPlayer();
try {
Uri uri = Uri.parse("http://www.tamilatlas.com/tamilrmxs/dynasty/dynastychunez.asx");
mp.setDataSource(uri.toString());
mp.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
我在logcat中发现了以下错误
11-01 10:03:59.484: E/MediaPlayer(21233): error (1, -2147483648)
11-01 10:03:59.484: W/System.err(21233): java.io.IOException: Prepare failed.: status=0x1
11-01 10:03:59.488: W/System.err(21233): at android.media.MediaPlayer.prepare(Native Method)
11-01 10:03:59.488: W/System.err(21233): at com.mayuonline.streaming.StreamingActivity.onCreate(StreamingActivity.java:18)
11-01 10:03:59.488: W/System.err(21233): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-01 10:03:59.488: W/System.err(21233): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-01 10:03:59.488: W/System.err(21233): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-01 10:03:59.488: W/System.err(21233): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-01 10:03:59.488: W/System.err(21233): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-01 10:03:59.492: W/System.err(21233): at android.os.Handler.dispatchMessage(Handler.java:99)
11-01 10:03:59.492: W/System.err(21233): at android.os.Looper.loop(Looper.java:123)
11-01 10:03:59.496: W/System.err(21233): at android.app.ActivityThread.main(ActivityThread.java:3683)
11-01 10:03:59.496: W/System.err(21233): at java.lang.reflect.Method.invokeNative(Native Method)
11-01 10:03:59.499: W/System.err(21233): at java.lang.reflect.Method.invoke(Method.java:507)
11-01 10:03:59.499: W/System.err(21233): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-01 10:03:59.499: W/System.err(21233): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-01 10:03:59.499: W/System.err(21233): at dalvik.system.NativeStart.main(Native Method)
11-01 10:03:59.503: E/MediaPlayer(21233): start called in state 0
11-01 10:03:59.507: E/MediaPlayer(21233): error (-38, 0)
11-01 10:03:59.511: E/MediaPlayer(21233): Error (-38,0)
感谢您的时间。我一直在很多地方搜索,但没有有效的asx流媒体示例。
答案 0 :(得分:1)
你必须解析.asx文件,找到那里真实流的链接。
这里是.asx文件格式的链接,也许可以为您提供一些关于如何解析它的提示:http://en.wikipedia.org/wiki/Advanced_Stream_Redirector
我可以告诉你,我成功解析了一个带有Scanner
类的.asx文件。我没有找到任何一般的解决方案。但也许这足以让你开始。