java - Android 媒体播放器 URL 音频

标签 java android url streaming media

我正在创建一个将从 URL 传输音频的应用程序。但我收到错误。
这是代码:

   MediaPlayer mediaPlayer = new MediaPlayer();
    try {
        mediaPlayer.setDataSource("http://http://www.glowingpigs.com/audioclip/10.mp3");
    } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SecurityException 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();
    }
    try {
        mediaPlayer.prepare();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    mediaPlayer.start();

这是错误:

<br><br>06-10 18:18:27.993: E/MediaPlayer(10319): error (1, -1004)
<br><br>06-10 18:18:27.993: W/System.err(10319): java.io.IOException: Prepare failed.: status=0x1
<br><br>06-10 18:18:28.003: W/System.err(10319):    at android.media.MediaPlayer.prepare(Native Method)
<br><br>06-10 18:18:28.003: W/System.err(10319):    at com.frlmedia.frlradio.MainActivity.onCreate(MainActivity.java:34)
<br><br>06-10 18:18:28.003: W/System.err(10319):    at android.app.Activity.performCreate(Activity.java:4465)
<br><br>06-10 18:18:28.003: W/System.err(10319):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.os.Handler.dispatchMessage(Handler.java:99)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.os.Looper.loop(Looper.java:137)
<br><br>06-10 18:18:28.013: W/System.err(10319):    at android.app.ActivityThread.main(ActivityThread.java:4441)
<br><br>06-10 18:18:28.023: W/System.err(10319):    at java.lang.reflect.Method.invokeNative(Native Method)
<br><br>06-10 18:18:28.023: W/System.err(10319):    at java.lang.reflect.Method.invoke(Method.java:511)
<br><br>06-10 18:18:28.023: W/System.err(10319):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
<br><br>06-10 18:18:28.023: W/System.err(10319):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
<br><br>06-10 18:18:28.033: W/System.err(10319):    at dalvik.system.NativeStart.main(Native Method)
<br><br>06-10 18:18:28.033: E/MediaPlayer(10319): start called in state 0
<br><br>06-10 18:18:28.033: E/MediaPlayer(10319): error (-38, 0)
<br><br>06-10 18:18:28.043: E/MediaPlayer(10319): Error (-38,0)
<br><br>06-10 18:18:28.043: D/TextLayoutCache(10319): Using debug level: 0 - Debug Enabled: 0
<br><br>06-10 18:18:28.053: D/libEGL(10319): loaded /system/lib/egl/libGLES_android.so
<br><br>06-10 18:18:28.053: D/libEGL(10319): loaded /system/lib/egl/libEGL_adreno200.so
<br><br>06-10 18:18:28.053: D/libEGL(10319): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
<br><br>06-10 18:18:28.063: D/libEGL(10319): loaded /system/lib/egl/libGLESv2_adreno200.so
<br><br>06-10 18:18:28.073: I/Adreno200-EGLSUB(10319): <ConfigWindowMatch:2078>: Format RGBA_8888.
<br><br>06-10 18:18:28.093: D/memalloc(10319): /dev/pmem: Mapped buffer base:0x5c62c000 size:35270656 offset:31502336 fd:64
<br><br>06-10 18:18:28.093: E/(10319): Can't open file for reading
<br><br>06-10 18:18:28.093: E/(10319): Can't open file for reading
<br><br>06-10 18:18:28.093: D/OpenGLRenderer(10319): Enabling debug mode 0
<br><br>06-10 18:18:28.163: D/memalloc(10319): /dev/pmem: Mapped buffer base:0x5ec3f000 size:3768320 offset:0 fd:67

您可以删除不需要的错误。

最佳答案

我认为您输错了网址。

http://www.glowingpigs.com/audioclip/10.mp3
替换为 http://www.glowingpigs.com/audioclip/10.mp3 .

如果你看MediaPlayer class ,您可以看到抛出的错误类型是什么。

在你的情况下是:

public static final int MEDIA_ERROR_IO
File or network related operation errors.
Constant Value: -1004 (0xfffffc14)

关于java - Android 媒体播放器 URL 音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029503/

相关文章:

android - 如何在 fragment 中使用带有自定义类对象的可扩展 ListView ?

java - 在没有查询字符串参数的情况下重建 URL

java - 当方法参数为空时,AspectJ ProceedingJoinPoint.getArgs

java - ArrayIndexOutOfBoundsException 错误显示

java - Android:从 Intent 中获取 App-Name

android - 根据 iPhone 屏幕小部件设置布局设计的 XML 文件

php - 在 Slim Framework v3 中访问多个 GET 参数

Android:检查 URL 是否有新的图像数据

java - 简单的一种方式挂起线程

Java序列化bean到xml