android - 在 Android 中流式传输 .asx

标签 android streaming android-mediaplayer asx

我一直在尝试流式传输 .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 流式传输示例。

最佳答案

您必须解析 .asx 文件,才能找到指向真实流的链接。

这是 .asx 文件格式的链接,也许可以给您一些关于如何解析它的提示:http://en.wikipedia.org/wiki/Advanced_Stream_Redirector

我可以告诉你,我成功地用 Scanner 类解析了一个 .asx 文件。我没有找到任何通用的解决方案。但这也许足以让您入门。

关于android - 在 Android 中流式传输 .asx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7962510/

相关文章:

android - 在 flutter 应用中播放背景歌曲

Android - 将 URI 转换为 Lollipop 上的文件路径

android - 在 PlayStore 上对应用程序进行评级后回电

time - Android:日历不给出全年数字,只给出 111 而不是 2011

android - 调试 native Android 崩溃的最佳方法?

javascript - binaryjs - nodejs mp3 音频流和播放

java - 在 Java 中实现素数查找算法的最佳方法是什么?我们如何创建库类然后在 Java 中使用?

ios - swift - 像 Instagram 应用程序一样预下载视频

android - 将对象从 Activity 传递到 ViewPager 再到 Fragment

android - 在某个点停止 MediaPlayer