gpt4 book ai didi

android - 使用为 android 编译的 LibVLC 显示来自 MPEG2 流的 DVB 字幕

转载 作者:行者123 更新时间:2023-11-29 00:59:01 25 4
gpt4 key购买 nike

使用下面的代码,我能够播放一个 udp 流 (mpeg2 ts),它有 3 个轨道(视频、音频和 dvb 字幕),但我试图检索字幕轨道并显示它,我不能找到关于如何操作的任何明确文档。

   // Create LibVLC
ArrayList<String> options = new ArrayList<String>();
options.add("-vvv"); // verbosity
options.add("--autoscale");

libvlc = new LibVLC(this, options);
holder.setKeepScreenOn(true);

// Creating media player
mMediaPlayer = new MediaPlayer(libvlc);
mMediaPlayer.setAspectRatio("16:9");
mMediaPlayer.setEventListener(mPlayerListener);


// Seting up video output
final IVLCVout vout = mMediaPlayer.getVLCVout();
vout.setVideoView(mSurface);

if (mSubtitlesSurface != null)
vout.setSubtitlesView(mSubtitlesSurface);
vout.setWindowSize(1920,1080);
vout.addCallback(this);
vout.attachViews();
Media m = new Media(libvlc, Uri.parse(media));
mMediaPlayer.setMedia(m);
mMediaPlayer.play();

我正在尝试使用 mMediaPlayer.getMedia().getTrackCount()mMediaPlayer.getSpuTracksCount(),它们在所有情况下都返回零;连最基本的音视频轨都不算。

有什么帮助吗?

注意:我从 [ https://wiki.videolan.org/AndroidCompile/] 编译了 LibVLC并将 .aar 存档添加到我的项目中。

最佳答案

您可能需要先调用 media.parse(),这样您才能发现 spu 轨道,然后设置一个。

关于android - 使用为 android 编译的 LibVLC 显示来自 MPEG2 流的 DVB 字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52479711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com