Android: Как использовать VLC, не выходя из текущей активности? (Для фонового аудио)
Предполагается: VLC для Android установлен на устройстве и работает нормально.
На самом деле я могу запустить VLC со своим URL-адресом и прослушивать аудиопоток с возможностями реального времени ( < 1 сек) с этим:
private void startRTSPStreamOnVLC(String ip, String port, String path) {
final String url = "rtsp://" + ip + ":" + port + "/" + path;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setPackage("org.videolan.vlc");
i.setDataAndType(Uri.parse(url), "video/h264");
i.setComponent(new ComponentName("org.videolan.vlc", "org.videolan.vlc.gui.video.VideoPlayerActivity"));
startActivity(i);
}
Проблема в том, что он выводит VLC на экран, вызывая приостановку / остановку моего приложения и прерывая мой другой аудиопоток.
Было бы еще лучше, если бы я мог открыть VLC в представлении, которое я мог бы показать в моем макете на самом деле.
Я знаю, что Сервисы будут использоваться как Действия без графического интерфейса, но это будет означать изменение самого VLC, чего я действительно хочу избежать.
Любой секретный совет для достижения этого?
-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'-'-" -'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'- '-'-'-" -'- '-'- '-'-'-'-
РЕДАКТИРОВАТЬ / Ответ: Как сказал Викаш Кумар Верма, использование LibVLC было способом. Я должен был скомпилировать его для моего ABI (MIPS), следуя этому руководству. Самый последний пример приложения, которое я нашел, был этот.
Удалось снизить задержку моего аудиопотока RTSP на 550 мс, работающую в Windows 7 с VLC в качестве сервера. Мне пришлось перейти в класс Media и изменить строку 771 следующим образом:
addOption(":network-caching=0"); // Was 1500
1 ответ
Да, вы можете использовать VLC в вашем макете. Посмотрите на MyVlcPlayer. Я использую библиотеку libVLC для воспроизведения видео в моем приложении.