AudioFlinger服务器死了。播放RTSP流仅在Lollipop设备上启动。

时间:2016-06-09 19:31:42

标签: android android-mediaplayer android-5.0-lollipop rtsp libstreaming

我正在测试libstreaming library。我的应用说明:一台设备通过RTSP将视频从相机流式传输到另一台设备。所有这些都在KitKat设备上完美运行,但我的华为p8 lite(Lollipop)无法运行流:

  

W / AudioSystem:AudioFlinger服务器死了!

     

W / IMediaDeathNotifier:媒体服务器已经死亡

     

E / MediaPlayer:错误(100,0)

     

E / MediaPlayer:错误(100,0)

我的流服务器端:

        // Configures the SessionBuilder
        SessionBuilder.getInstance()
                .setSurfaceView(surfaceView)
                .setPreviewOrientation(90)
                .setContext(getApplicationContext())
                .setAudioEncoder(SessionBuilder.AUDIO_NONE)
                .setAudioQuality(new AudioQuality(16000, 32000))
                .setVideoEncoder(SessionBuilder.VIDEO_H264)
                .setVideoQuality(new VideoQuality(320,240,20,500000));

        // Starts the RTSP server
        this.startService(new Intent(this,RtspServer.class));

播放流方:

private void play() {
        if(mediaPlayer == null) {
            mediaPlayer = new MediaPlayer();
        }
        setErrorListener();
        mediaPlayer.setDisplay(surfaceHolder);
        mediaPlayer.setOnPreparedListener(this);

        try {
            //RTSP SERVER URI
            String videoUri = "rtsp://192.168.1.1:8086?/";

            mediaPlayer.setDataSource(this, Uri.parse(videoUri));
            mediaPlayer.prepareAsync();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

当棒棒糖设备正在流式传输时,kitkat设备没有任何播放流的功能。为什么播放流不能在这个特定的设备上工作?

1 个答案:

答案 0 :(得分:0)

它已经解决了。

由于某种原因,用(“?/”)创建的url在Lollipop上不起作用:

String videoUri = "rtsp://192.168.1.1:8086?/";

然后我在libstreaming中编辑方法Parse();。我使用url删除了关于参数化会话的整个部分。

我将videoUri改为没有(?):

String videoUri ="rtsp://192.168.1.1:8086/";