首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibVLC android seek and forward

LibVLC android seek and forward
EN

Stack Overflow用户
提问于 2014-09-04 20:48:58
回答 1查看 2.9K关注 0票数 4

我在我自己的android应用程序中搜索时遇到了问题。当我转发rtmp视频(MP4源)时,VLC卡住了,60-120秒后播放正常。

我的设备是armv7安卓电视机顶盒。

代码语言:javascript
复制
        // 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上寻找视频效果很好,下面是我的前进和后退操作:

代码语言:javascript
复制
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;
    }
EN

回答 1

Stack Overflow用户

发布于 2017-03-27 07:57:18

我不能理解你的问题,但是如果这是在MedaiPlayer不玩的时候不能设置搜索者的位置,那么在玩的时候调用setPosition就可以了:

代码语言:javascript
复制
        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()也有同样的问题,这真的很烦人,因为它是一个很好的文档和教程!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25665976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档