我正在使用StreamProxy类以便使用MediaPlayer
进行流式传输。所以,我写了一些代码为随之启动本地服务器:“准备失败:状态= 0x1”流式传输发生异常
ProxyStream proxyStream = new ProxyStream();
proxyStream.init();
proxyStream.start();
因此,本地服务器成功创建并获得了特殊的端口。 (port 41257
获得)。我知道我们可以通过链接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流?!请帮我解决这个问题。
感谢你提前:)
这绝对是一个格式不正确的URL:http://127.0.0.1:41257/http :// printf.ir/music/01.wma',尝试使用这一个:'http://127.0.0.1: 41257 /'看看会发生什么。 – yorkw
但我想流'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 /'。 – yorkw