AudioFlinger 服务器停止运行。播放 RTSP 流不会仅在 Lollipop 设备上启动。
AudioFlinger server died. Play RTSP stream won't start on Lollipop device only.
我正在测试 libstreaming library。我的应用程序描述:一台设备通过 RTSP 将视频从摄像头流式传输到另一台设备。在 KitKat 设备上一切正常,但我的 Huawei p8 lite (Lollipop) 无法 运行 流,因为:
W/AudioSystem: AudioFlinger server died!
W/IMediaDeathNotifier: media server died
E/MediaPlayer: error (100, 0)
E/MediaPlayer: Error (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();
}
}
当 lollipop 设备正在播放时,kitkat 设备播放流时没有任何问题。为什么播放流在这个特定设备上不起作用?
解决了
出于某种原因 url 使用 ( "?/" ) 创建的在 Lollipop 上不起作用:
String videoUri = "rtsp://192.168.1.1:8086?/";
然后我在 libstreaming 中编辑方法 Parse();
。我使用 url.
删除了关于参数化会话的整个部分
然后我将 videoUri
更改为不带 (?):
String videoUri ="rtsp://192.168.1.1:8086/";
我正在测试 libstreaming library。我的应用程序描述:一台设备通过 RTSP 将视频从摄像头流式传输到另一台设备。在 KitKat 设备上一切正常,但我的 Huawei p8 lite (Lollipop) 无法 运行 流,因为:
W/AudioSystem: AudioFlinger server died!
W/IMediaDeathNotifier: media server died
E/MediaPlayer: error (100, 0)
E/MediaPlayer: Error (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();
}
}
当 lollipop 设备正在播放时,kitkat 设备播放流时没有任何问题。为什么播放流在这个特定设备上不起作用?
解决了
出于某种原因 url 使用 ( "?/" ) 创建的在 Lollipop 上不起作用:
String videoUri = "rtsp://192.168.1.1:8086?/";
然后我在 libstreaming 中编辑方法 Parse();
。我使用 url.
然后我将 videoUri
更改为不带 (?):
String videoUri ="rtsp://192.168.1.1:8086/";