【发布时间】:2016-10-14 21:23:30
【问题描述】:
假定:VLC for Android 已安装在设备上并且工作正常。
实际上,我可以使用我的 URL 启动 VLC,并使用它来收听具有实时功能(
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,那就更好了。
我知道服务可以在没有 GUI 的情况下用作 Activity,但这意味着要更改 VLC 本身,我真的希望避免这种情况。
有什么秘诀可以实现吗?
-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'- '-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'- '-'-'-'-'-'-'-'-'-
编辑/回答: 正如 Vikash Kumar Verma 所说,使用 LibVLC 是可行的方法。 我必须按照this guide. 为我的 ABI (mips) 编译它 我发现的最新应用示例是this one.
在以 VLC 作为服务器的 Windows 7 上运行的 RTSP 音频流的延迟降低到 550 毫秒。我不得不参加媒体课程并更改第 771 行,如下所示:
addOption(":network-caching=0"); // Was 1500
【问题讨论】:
-
StartActivity将始终显示新活动。说 VLC 播放一些音频的唯一方法 - 向它发送广播。但我不知道Intent里面应该是什么 - 你可以谷歌它。
标签: android android-intent vlc rtsp vlc-android