Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 流式传输时发生“准备失败:状态=0x1”异常_Android_Streaming - Fatal编程技术网

Android 流式传输时发生“准备失败:状态=0x1”异常

Android 流式传输时发生“准备失败:状态=0x1”异常,android,streaming,Android,Streaming,我正在使用StreamProxy类,以便使用MediaPlayer进行流处理。因此,我编写了以下代码来启动本地服务器: ProxyStream proxyStream = new ProxyStream(); proxyStream.init(); proxyStream.start(); 因此,本地服务器创建成功,并且获得了专用端口。已获取端口41257。我知道,我们可以访问web文件,并尝试作为链接http://127.0.0.1:41257/http://printf.ir/music/

我正在使用StreamProxy类,以便使用MediaPlayer进行流处理。因此,我编写了以下代码来启动本地服务器:

ProxyStream proxyStream = new ProxyStream();
proxyStream.init();
proxyStream.start();
因此,本地服务器创建成功,并且获得了专用端口。已获取端口41257。我知道,我们可以访问web文件,并尝试作为链接http://127.0.0.1:41257/http://printf.ir/music/01.mp3. 现在,我想使用MediaPlayer对象进行流式处理,并尝试以下代码:

this.mediaPlayer.setDataSource("127.0.0.1:41257/http://printf.ir/music/01.wma");
this.mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
this.mediaPlayer.prepare();
在运行时,异常发生在代码的第三行,我将其粘贴到这里:

05-17 18:49:49.989: W/System.err(10444): java.io.IOException: Prepare failed.: status=0x1
05-17 18:49:49.989: W/System.err(10444): at android.media.MediaPlayer.prepare(Native Method)
05-17 18:49:49.989: W/System.err(10444): at com.exmaple.stream.StreamMediaPlayerActivity.onClick(StreamMediaPlayerActivity.java:83)
05-17 18:49:49.989: W/System.err(10444): at android.view.View.performClick(View.java:2485)
05-17 18:49:49.989: W/System.err(10444): at android.view.View$PerformClick.run(View.java:9080)
05-17 18:49:49.989: W/System.err(10444): at android.os.Handler.handleCallback(Handler.java:587)
05-17 18:49:49.989: W/System.err(10444): at android.os.Handler.dispatchMessage(Handler.java:92)
05-17 18:49:49.989: W/System.err(10444): at android.os.Looper.loop(Looper.java:130)
05-17 18:49:49.989: W/System.err(10444): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-17 18:49:49.989: W/System.err(10444): at java.lang.reflect.Method.invokeNative(Native Method)
05-17 18:49:49.989: W/System.err(10444): at java.lang.reflect.Method.invoke(Method.java:507)
05-17 18:49:49.989: W/System.err(10444): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
05-17 18:49:49.989: W/System.err(10444): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
05-17 18:49:49.989: W/System.err(10444): at dalvik.system.NativeStart.main(Native Method)
如何使用MediaPlayer进行流媒体播放?!请帮我解决这个问题


提前感谢:

您尝试过类似的东西吗

private void initMediaPlayer() {
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
statusText.setText("Playing...");
}
});
}

这是一个教程,通过使用在线流媒体播放器的整个过程,这是教程的第二部分。。。大约3个月前,我在我的一个项目中使用了本教程,因此它确实有效,您应该在3个月前提供它

这绝对是一个格式错误的URL:http://127.0.0.1:41257/http://printf.ir/music/01.wma,请尝试使用此选项:http://127.0.0.1:41257/ 看看会发生什么。但我想流http://printf.ir/music/01.wma,我如何使用http://127.0.0.1:41257?!StreamProxy实际上做的是从中下载媒体内容http://printf.ir/music/01.wma 并将其重新发布到http://127.0.0.1:41257/.I 我知道,但是我在哪里插入我的链接来重新发布它呢http://127.0.0.1:41257/ ?我又读了一遍代码,你原来做的是正确的,试试这个:this.mediaPlayer.setDataSourcehttp://127.0.0.1:41257/http://printf.ir/music/01.mp3‌​;当你尝试这一次时,你得到的是相同的结果还是不同的错误?如果你只输入而不输入会发生什么?当我使用printf.ir/music/01.wma时,由于网络身份验证,我遇到了407,身份验证错误!所以,我需要从远程服务器下载,并从本地套接字流式传输。