我的服务器用的是阿里云,系统是win8,用 Windows Media Services建了个流媒体服务器,设置了http协议的点播服务,我在自己的电脑上通过windows media player可正常播放mp3,地址如:http://www.xxx.com:8080/mp3/test.mp3但是我用android 的Mediaplayer却播放不了,报错: error (1, -2147483648)
而同样的代码,播放别人提供的资源却可以正常(也是http协议的mp3流),我将该mp3下载到我的服务器上,用android客户端也是无法播放,
总之,我的android客户端可以播放别人的http流,却播放不了自己的http流,请教一下知道的朋友,这是为什么?我在微软的帮助文档里看到这一段话:
注意
Windows Media Services 不能使用智能流传输功能来传输 MP3 格式的文件。此外,Windows Media Services 也无法传输多比特率 (MBR) MP3 文件。如果使用了多比特率对 MP3 文件进行编码,那么从 Windows Media 服务器传输该文件时,该文件将不会按照预期播放。不知是不是因为mp3的比特率太高的原因,我用adobe audition将mq3另存为64比特率的文件放上去,android客户端还是播放不了(windows media player可正常播放)另外,我用一台linux主机布署了一个达尔文流媒体服务器,可惜它不支持mp3点播,我只能将mp3文件转成mp4,然后用mp4box给他加上hint,客户端用rtsp协议来播放,播放成功,但是每次都得加载30秒左右才开始播放。请有经验的朋友给我点意见,谢谢我的android 端代码如下:
                mediaPlayer = new MediaPlayer();
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mediaPlayer.setOnPreparedListener(MediaPlayerActivity.this);
                mediaPlayer.setOnBufferingUpdateListener(MediaPlayerActivity.this);
                mediaPlayer.setOnErrorListener(MediaPlayerActivity.this);
                mediaPlayer.setOnCompletionListener(MediaPlayerActivity.this);
                mediaPlayer.setVolume(100.0F, 100.0F);
                try
                {
                    mediaPlayer.setDataSource("http://192.168.1.2:8212/fm/cjyd1.mp3");
                    mediaPlayer.prepareAsync();
                }
                catch (Exception e)
                {
                    Log.e("","",e);
                }
流媒体服务器android