-1

我正在测试libstreaming 库。我的应用程序描述:一台设备通过 RTSP 将视频从相机流式传输到另一台设备。一切都在 KitKat 设备上完美运行,但我的 Huawei 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 设备没有任何问题来播放流式传输。为什么播放流无法在此特定设备上运行?

4

1 回答 1

0

解决了。

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

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

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

我改为videoUri没有(?):

String videoUri ="rtsp://192.168.1.1:8086/";
于 2016-06-13T21:12:50.157 回答