【发布时间】:2016-04-01 12:42:18
【问题描述】:
在视频播放器项目中,我想使用来自慢速源的 LibVLC http 流。
但是,我不能让它先流式传输,然后不断下载数据。播放器总是会在中间停下来。
我正在使用来自 GIT 的 vlc-android。
这是媒体播放器设置代码:
ArrayList<String> options = new ArrayList<>();
options.add("--no-sub-autodetect-file");
options.add("--swscale-mode=0");
options.add("--network-caching=60000");
if (BuildConfig.DEBUG) {
options.add("-vvv"); // verbosity
}
libVLC = new LibVLC(options);
mediaPlayer = new org.videolan.libvlc.MediaPlayer(libVLC);
mediaPlayer.setEventListener(this);
final IVLCVout vout = mediaPlayer.getVLCVout();
vout.setVideoView(videoView);
vout.setSubtitlesView(subtitleView);
vout.addCallback(this);
vout.attachViews();
final Media media = new Media(libVLC, getIntent().getData());
media.setHWDecoderEnabled(true, false);
media.addOption(":network-caching=60000");
media.addOption(":clock-jitter=0");
media.addOption(":clock-synchro=0");
mediaPlayer.setMedia(media);
mediaPlayer.play();
我希望在媒体对象上设置:network-caching 就足够了,但它似乎始终没有数据。
如何配置 LibVLC 以消除口吃?一些缓冲时间是可以的。
流类型是通过 HTTP 提供的 MOV 文件。
【问题讨论】: