Сервер AudioFlinger умер. Воспроизведение RTSP потока не начнется только на устройстве Lollipop.
Я тестирую библиотеку 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();
}
}
Когда устройство lollipop работает в потоковом режиме, устройство Kitkat не имеет никакой возможности воспроизводить поток. Почему воспроизведение потока не работает на этом конкретном устройстве?
1 ответ
Это решено.
По какой-то причине URL, созданный с помощью ( "?/"), Не работает на Lollipop:
String videoUri = "rtsp://192.168.1.1:8086?/";
Тогда я редактирую метод Parse();
в libstreaming. Я удалил всю часть о сеансе параметризации, используя URL.
И я изменился videoUri
без (?):
String videoUri ="rtsp://192.168.1.1:8086/";