我在我自己的android应用程序中搜索时遇到了问题。当我转发rtmp视频(MP4源)时,VLC卡住了,60-120秒后播放正常。
我的设备是armv7安卓电视机顶盒。
// Create a new media player
libvlc = LibVLC.getInstance();
libvlc.setHardwareAcceleration(LibVLC.HW_ACCELERATION_FULL);
//libvlc.setSubtitlesEncoding("");
//libvlc.setAout(LibVLC.VOUT_ANDROID_SURFACE);
//libvlc.setTimeStretching(false);
//libvlc.setFrameSkip(true);
libvlc.setSubtitlesEncoding("");
libvlc.setTimeStretching(false);
libvlc.setFrameSkip(true);
libvlc.setChroma("RV32");
libvlc.setVerboseMode(true);
libvlc.setAout(-1);
libvlc.setDeblocking(4);
libvlc.setNetworkCaching(0);
//libvlc.setChroma("RV32");
//libvlc.setVerboseMode(false);
//libvlc.setDeblocking(1);
//libvlc.setNetworkCaching(2500);
LibVLC.restart(this);
EventHandler.getInstance().addHandler(mHandler);
holder.setFormat(PixelFormat.RGBX_8888);
holder.setKeepScreenOn(true);
MediaList list = libvlc.getMediaList();
list.clear();
list.add(new Media(libvlc, LibVLC.PathToURI(media)), false);
libvlc.playIndex(0);在其他播放器上,如MXPlayer,这是没有问题的。Vitamio工作正常,但音频同步有问题。不需要在VLC上寻找视频效果很好,下面是我的前进和后退操作:
switch (event.getKeyCode()) {
// next
case 87:
s = false;
if (length > 0L) {
Long t = time+60000L;
if (t < length) {
//libvlc.clearBuffer();
libvlc.setTime(time+60000L);
libvlc.play();
}
}
break;
// prev
case 88:
s = false;
if (length > 0L) {
Long t = time-60000L;
if (t > 0) {
libvlc.setTime(time-60000L);
libvlc.play();
}
}
break;
}发布于 2017-03-27 07:57:18
我不能理解你的问题,但是如果这是在MedaiPlayer不玩的时候不能设置搜索者的位置,那么在玩的时候调用setPosition就可以了:
if(!isPlaying){
mp.play();//otherwise not seekable for some silly reason
mp.setTime((long)pos);
mp.pause();
}else{
mp.setTime((long)pos);
}当然,mp是MediaPlayer。由于getLength()也有同样的问题,这真的很烦人,因为它是一个很好的文档和教程!
https://stackoverflow.com/questions/25665976
复制相似问题