zoukankan      html  css  js  c++  java
  • cocos2d-x视频控件VideoPlayer的用户操作栏进度条去除(转载)

    
    
    目前遇到两个问题:
    (1)视频控件移除有问题,会报异常。
    (2)视频控件有用户操作栏,用户点击屏幕会停止视频播放。
    
    对于第一个问题,主要是移除控件时冲突引起的,目前简单处理是做一个延时处理,先stop视频播放,然后一个Action移除自身,如下:
    
        local function onComplete()
                video:stop()
                video:runAction(
                    cc.Sequence:create(
                        cc.CallFunc:create(callback),
                        cc.RemoveSelf:create()
                    )
                )
        end 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    第二个问题处理起来比较麻烦,做法是去除控件实现中的用户点击和用户操作栏。
    
    在android版本里视频会有一个点击屏幕暂停和恢复的功能,这个是在java层实现的,直接注释掉点击的响应,就可以屏蔽用户的操作。
    
    Cocos2dxVideoView.java 201  
    
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            if((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP)
            {
                if (isPlaying()) {
                    //pause();
                } else if(mCurrentState == STATE_PAUSED){
                    //resume();
                }
            }
            return true;
        }
    在ios版本里视频会有一个操作栏,这个oc代码里的视频控件有个样式,更改controlStyle 这个属性,即可隐藏进度条,另外修改userInteractionEnabled 属性,让视频不响应点击事件。
    
        UIVideoPlayer-ios.mm
    
        self.moviePlayer.allowsAirPlay = false;
        self.moviePlayer.controlStyle = MPMovieControlStyleNone;//  MPMovieControlStyleEmbedded;
        self.moviePlayer.view.userInteractionEnabled = false;   //true;
    除了上述问题,该视频控件目前只能遮盖在用户显示层的上层,对于某些比如嵌入播放之类操作,依然有很多问题,希望cocos能后续继续完善。
    
  • 相关阅读:
    獲取XML文檔節點的值
    Asp.net之数组应用
    读写XML文档
    C#区分中英文统计字符串的长度
    vs2005常用快捷键
    基础知识
    中国的十二生肖原来还代表着对人品格的要求
    学习OO思想
    改变系统时间c#
    用C#创建各种类型的wave文件
  • 原文地址:https://www.cnblogs.com/zhangfeitao/p/5899211.html
Copyright © 2011-2022 走看看