我正在测试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设备没有任何播放流的功能。为什么播放流不能在这个特定的设备上工作?
答案 0 :(得分:0)
它已经解决了。
由于某种原因,用(“?/”)创建的url在Lollipop上不起作用:
String videoUri = "rtsp://192.168.1.1:8086?/";
然后我在libstreaming中编辑方法Parse();
。我使用url删除了关于参数化会话的整个部分。
我将videoUri
改为没有(?):
String videoUri ="rtsp://192.168.1.1:8086/";