0

假定:Android 的 VLC 已安装在设备上并且工作正常。

实际上,我可以使用我的 URL 启动 VLC,并通过以下方式收听具有实时功能(< 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,那就更好了。

我知道服务可以在没有 GUI 的情况下用作 Activity,但这意味着更改 VLC 本身,我真的希望避免这种情况。

有什么秘诀可以实现吗?

-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-' -'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-' -'-'-'-'-'-'-'-

编辑/答案:正如 Vikash Kumar Verma 所说,使用 LibVLC 是要走的路。我必须按照本指南为我的 ABI (mips) 编译它。 我发现的最新应用示例就是这个。

在以 VLC 作为服务器的 Windows 7 上运行的 RTSP 音频流的延迟降低到 550 毫秒。我不得不参加媒体课程并更改第 771 行,如下所示:

 addOption(":network-caching=0"); // Was 1500
4

1 回答 1

1

是的,您可以在布局中使用 VLC。看看 MyVlcPlayer。我已经使用 libVLC 库在我的应用程序中播放视频。

于 2016-10-08T07:50:34.613 回答