在Android媒体播放器中播放Rtsp音频流

时间:2014-01-10 06:44:41

标签: android android-mediaplayer rtsp

我想在Android媒体播放器中播放RTSP音频流。我试图直接绑定到媒体播放器中的RTSP链接。有时它打得很好,但现在它没有播放并显示媒体播放器错误:

  

MediaPlayer(808):错误(1,-2147483648)。

问题出在哪里?

以下是我的部分代码:

public class PlayRadio extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... arg0) {
        // TODO Auto-generated method stub
        setDataSource(rtspUrl);
        Log.e("inside doinbackground....", path);
        return null;
    }
    @Override
    protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);

        player.setOnPreparedListener(new OnPreparedListener() {

            public void onPrepared(MediaPlayer mp) {
                player.start();
                Toast.makeText(getApplicationContext(), "starting..", Toast.LENGTH_LONG).show();
            }
        });
        player.setAudioStreamType(AudioManager.STREAM_MUSIC);
    }
}

private void setDataSource(String path2) {
    // TODO Auto-generated method stub
        player=new MediaPlayer();
        try {
            Uri a =Uri.parse("rtsp://stream.rtm.swiftserve.com/live/rtm/rtm-ch010");

            player.setDataSource(getApplicationContext(),a);
            player.prepareAsync();
        }
        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();
        }
        //Log.e("tempPath", tempPath);
    }

1 个答案:

答案 0 :(得分:0)

此错误MediaPlayer(808): error (1, -2147483648)只是告诉您设备不支持您正在播放的视频文件。

通常,RTSP链接使用.sdp格式,Android设备目前不支持该格式。

请点击此处Supported Media Formats