精华内容
下载资源
问答
  • **的严管,现在越来越难找到一款合适的TV端软件来满足自己的智能电视的需求,为此我为自己的电视定制了一款类爬虫式的自动解析多个有丰富资源的电影网站 话不多说,直接上图 外链:下载地址 申明:本软件仅...

    **的严管,现在越来越难找到一款合适的TV端软件来满足自己的智能电视的需求,为此我为自己的电视定制了一款类爬虫式的自动解析多个有丰富资源的电影网站

    话不多说,直接上图

    外链:下载地址

    申明:本软件仅用于学习交流

    展开全文
  • Android TV端电视直播软件 和 投屏工具
  • 创维安卓电视电脑端软件安装工具TV,简单方便!
  • 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 ...
  • ORB音乐TV接收器硬件简洁、驱动安装与使用方法、配套PC和安卓软件
  • 屏幕捕获、屏幕拍摄、快照、屏幕投影、投影仪、遥控器、wifi显示、无线投影、mobishow、mirrorop、镜像操作、镜像、镜像屏幕、WiDi、屏幕记录器、显示记录器、发送器、无线发送器、接收器、无线接收器、TV发送器、TV...
  • TV端开发遇坑随记

    千次阅读 2018-05-23 15:58:10
    1.TV端上,如果你不设置某个控件的下一个方向的焦点,系统会默认帮你分配,自动寻找下一个方向上可以获取焦点的控件去获取焦点,这时有可能这个控件并不是我们想要的,甚至会出现焦点乱跑的情况,这时产品一般要么...

    1.TV 端上,如果你不设置某个控件的下一个方向的焦点,系统会默认帮你分配,自动寻找下一个方向上可以获取焦点的控件去获取焦点,这时有可能这个控件并不是我们想要的,甚至会出现焦点乱跑的情况,这时产品一般要么要求我们指定下一个焦点控件,要么在这个控件上不能再继续向某个方向移动,指定焦点很容易,可通过这几个方法:

    setNextFocusUpId();
    setNextFocusRightId();
    setNextFocusDownId();
    setNextFocusLeftId();
    setNextFocusForwardId();
    

    前四个方法分别是设置向上、下、左、右方向移动焦点时,下一个获取焦点的 View 的 id,第五个方法是设置下一个获取焦点的View 的 id;
    在这里插入图片描述
    例如在3按键上,如果不指定向上的下一个获取焦点的控件的id,那么在遥控器上按上键时,有可能图中的A获取焦点,有可能B获取焦点,这时如果想指定向上的下一个焦点固定是B,那么就可以通过:

    3按键.setNextFocusUpId(B.id);
    

    来指定,如果产品要求在3按键上不能继续向上了,可以把通过自身设置成向上方向的下一个获取的View来实现:

    3按键.setNextFocusUpId(3按键.id);
    

    2.如果你开发一款 TV 端的视频聊天软件,而且你用的是 SurfaceView 来展示已方 Camera 输出的画面,你会发现,自己的画面是反的,就是你的手往右边移动,电视上看着却是在往左边移动,但是在手机上不会这样(TV端基本都是外接摄像头,不知道是不是和手机端的内部处理方式不一样),这时产品都会要求要让已方画面保持镜像显示,就是要像照镜子一样,自己的手往右边移动,电视上也要显示是往右边移动;这时通过旋转什么的是正不过来的,必须水平翻转,如果只是拍照倒是可以通过矩阵将图片水平翻转一下,但是如果是时时视频流,还是不方便处理的,如果软件要求兼容到 4.0 版本以上,可以用 TextureView 来代替SurfaceView,镜像问题就解决了。

    3.在 TV 端使用 RecyclerView 时,如果只设置 onItemLongClickListener,而不设置 onItemClickListener,那么单击 item 也会触发长按效果。

    4.如果你的 Activity 设置了下面这条属性,作用是让这个 Activity 的背景透明,那么当这个 Activity 覆盖了别的 Activity时,被覆盖的Activity 不会走 onStop 生命周期,当被覆盖的 Activity 是别人的 apk 里的,就有很大可能会出现问题,例如 launcher的视频播放页面很可能是在 onStop 里暂停视频播放,如果你的 Activity 被设置成透明启动了,这时 launcher 的视频仍然在播放;

    <item name="android:windowIsTranslucent">true</item>
    

    5.在使用 RecyclerView 时,如果只刷新局部可能会出现闪屏现象,这是由 RecyclerView 默认动画导致的,
    可以通过关闭默认动画来解决:

    ((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
    

    还有一种说法是把执行动画的时间设置为0来解决,不过测试无效:

    recyclerView.getItemAnimator().setChangeDuration(0);
    

    在这里插入图片描述

    图中箭头指向部分就是右上角刷新时在下面闪出来的。

    6.RecyclerView 在xml 布局里设置 focusable 不生效

    <android.support.v7.widget.RecyclerView
        ...
        android:focusable="false"
        ...
        />
    

    在代码里设置才生效

    recyclerview.setFocusable(false);
    

    7.在播放页面,也就是页面上有一个SurfaceView时,xml文件里别的View设置INVISIBLE会出bug,只能用GONE,不然在代码里设置VISIBLE无效。

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_live_play"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.wasu.hotellauncher.ui.home.VodPlayerActivity">
        <SurfaceView
            android:id="@+id/avp_suface"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
        <ImageView
            android:id="@+id/avp_iv_status"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="invisible"
            android:layout_gravity="center"
            android:background="@mipmap/ic_play_forward_speed_04"/>
    </FrameLayout>
    

    8.focusable 、 focusableInTouchMode 和 clickable:
    focusable 就是设置这个 View 能否获取焦点,focusableInTouchMode 就是设置这个 View 能否通过触摸让它获取焦点;
    如果设置了 focusable = false,那么focusableInTouchMoe一定等于 false;
    如果设置了 focusalbeInTouch = true,那么focusable一定等于true;
    如果只设置focusable = true,focusableInTouchMode 默认为 false,你可以通过类似电视遥控器或是什么别的能操控上下左右键的设备让该 View 获取到焦点,但是通过触摸点击不能让其获取焦点,点击时直接触发 click 事件;
    如果设置了focusableInTouchMode = true,除了可以通过遥控器让View获取焦点,还可以触摸点击使该View获取焦点,不过触摸点击的第一次会先让这个 View获取焦点,不会触发 click 事件,在 View 聚焦状态下再次点击才能触发 click 事件。

    展开全文
  • 在android TV端中实现水平滑动效果可以使用HorizontalScrollView来实现, 现在来介绍一下在TV端使用HorizontalScrollView时遇到的问题.HorizontalScrollView 滑动流程例如现在在TV端实现类似于手机launcher的功能显示...

    在android TV端中实现水平滑动效果可以使用HorizontalScrollView来实现, 现在来介绍一下在TV端使用HorizontalScrollView时遇到的问题.

    HorizontalScrollView 滑动流程

    例如现在在TV端实现类似于手机launcher的功能显示所有的应用, 并使用HorizontalScrollView来实现水平滑动, 但是有这样的需求: 当应用滑动到某个子view, 这个子view并没有全部显示在屏幕上, 这个时候需要将整个应用按照你滑动的方向滑动整个屏幕的一半的距离. 如下图所示从图1到图2:

    图1


    图2

    原生的HorizontalScrollView只能实现当滑动到显示不全的子view上时, 只是让子view显示出来:

    查看HorizontalScrollView源码分析它是怎么处理这个滑动的, 在TV端对应用的控制都是通过遥控器来进行操作, 说白了就是也就是对焦点的处理(也就是对按键消息的处理), 对于在TV端开发来说, 焦点的处理非常重要. 根据android的消息处理机制, 我们查看HorizontalScrollView的dispatchKeyEvent接口:

        @Override
        public boolean dispatchKeyEvent(KeyEvent event) {
            // Let the focused view and/or our descendants get the key first
            return super.dispatchKeyEvent(event) || executeKeyEvent(event);
        }

    继续进入executeKeyEvent(event)方法中查看:

        public boolean executeKeyEvent(KeyEvent event) {
            mTempRect.setEmpty();
    
            if (!canScroll()) {
                if (isFocused()) {
                    View currentFocused = findFocus();
                    if (currentFocused == this) currentFocused = null;
                    View nextFocused = FocusFinder.getInstance().findNextFocus(this,
                            currentFocused, View.FOCUS_RIGHT);
                    return nextFocused != null && nextFocused != this &&
                            nextFocused.requestFocus(View.FOCUS_RIGHT);
                }
                return false;
            }
    
            boolean handled = false;
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                switch (event.getKeyCode()) {
                    case KeyEvent.KEYCODE_DPAD_LEFT:
                        if (!event.isAltPressed()) {
                            handled = arrowScroll(View.FOCUS_LEFT);
                        } else {
                            handled = fullScroll(View.FOCUS_LEFT);
                        }
                        break;
                    case KeyEvent.KEYCODE_DPAD_RIGHT:
                        if (!event.isAltPressed()) {
                            handled = arrowScroll(View.FOCUS_RIGHT);
                        } else {
                            handled = fullScroll(View.FOCUS_RIGHT);
                        }
                        break;
                    case KeyEvent.KEYCODE_SPACE:
                        pageScroll(event.isShiftPressed() ? View.FOCUS_LEFT : View.FOCUS_RIGHT);
                        break;
                }
            }
    
            return handled;
        }

    通过分析executeKeyEvent的代码控制滑动的逻辑是arrowScroll(int direction), 继续查看里面的代码:

        public boolean arrowScroll(int direction) {
    
            View currentFocused = findFocus();
            if (currentFocused == this) currentFocused = null;
    
            View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction);
    
            final int maxJump = getMaxScrollAmount();
    
            if (nextFocused != null && isWithinDeltaOfScreen(nextFocused, maxJump)) {
                nextFocused.getDrawingRect(mTempRect);
                offsetDescendantRectToMyCoords(nextFocused, mTempRect);
                int scrollDelta = computeScrollDeltaToGetChildRectOnScreen(mTempRect);
                doScrollX(scrollDelta);
                nextFocused.requestFocus(direction);
            } else {
                // no new focus
                int scrollDelta = maxJump;
    
                if (direction == View.FOCUS_LEFT && getScrollX() < scrollDelta) {
                    scrollDelta = getScrollX();
                } else if (direction == View.FOCUS_RIGHT && getChildCount() > 0) {
    
                    int daRight = getChildAt(0).getRight();
    
                    int screenRight = getScrollX() + getWidth();
    
                    if (daRight - screenRight < maxJump) {
                        scrollDelta = daRight - screenRight;
                    }
                }
                if (scrollDelta == 0) {
                    return false;
                }
                doScrollX(direction == View.FOCUS_RIGHT ? scrollDelta : -scrollDelta);
            }
    
            if (currentFocused != null && currentFocused.isFocused()
                    && isOffScreen(currentFocused)) {
                // previously focused item still has focus and is off screen, give
                // it up (take it back to ourselves)
                // (also, need to temporarily force FOCUS_BEFORE_DESCENDANTS so we are
                // sure to
                // get it)
                final int descendantFocusability = getDescendantFocusability();  // save
                setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
                requestFocus();
                setDescendantFocusability(descendantFocusability);  // restore
            }
            return true;
        }

    抛开代码细节, 只需要看最关心的地方就可以了, 最终控制滑动的方法在doScrollX(int delta)中, 在此方法中通过scrollBy来滑动, 对于scrollBy, 大家应该不陌生. 滑动距离是通过传入的delta来确定, 那么这个delta又是怎么获得的? 从arrowScroll(int direction)中可以看到delta是通过computeScrollDeltaToGetChildRectOnScreen(mTempRect)来计算出来, 那么查看一下此方法是怎么计算的:

        protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) {
            if (getChildCount() == 0) return 0;
    
            int width = getWidth();
            int screenLeft = getScrollX();
            int screenRight = screenLeft + width;
    
            int fadingEdge = getHorizontalFadingEdgeLength();
    
            // leave room for left fading edge as long as rect isn't at very left
            if (rect.left > 0) {
                screenLeft += fadingEdge;
            }
    
            // leave room for right fading edge as long as rect isn't at very right
            if (rect.right < getChildAt(0).getWidth()) {
                screenRight -= fadingEdge;
            }
    
            int scrollXDelta = 0;
    
            if (rect.right > screenRight && rect.left > screenLeft) {
                // need to move right to get it in view: move right just enough so
                // that the entire rectangle is in view (or at least the first
                // screen size chunk).
    
                if (rect.width() > width) {
                    // just enough to get screen size chunk on
                    scrollXDelta += (rect.left - screenLeft);
                } else {
                    // get entire rect at right of screen
                    scrollXDelta += (rect.right - screenRight);
                }
    
                // make sure we aren't scrolling beyond the end of our content
                int right = getChildAt(0).getRight();
                int distanceToRight = right - screenRight;
                scrollXDelta = Math.min(scrollXDelta, distanceToRight);
    
            } else if (rect.left < screenLeft && rect.right < screenRight) {
                // need to move right to get it in view: move right just enough so that
                // entire rectangle is in view (or at least the first screen
                // size chunk of it).
    
                if (rect.width() > width) {
                    // screen size chunk
                    scrollXDelta -= (screenRight - rect.right);
                } else {
                    // entire rect at left
                    scrollXDelta -= (screenLeft - rect.left);
                }
    
                // make sure we aren't scrolling any further than the left our content
                scrollXDelta = Math.max(scrollXDelta, -getScrollX());
            }
            return scrollXDelta;
        }

    从注释 “// get entire rect at right of screen” 来看, scrollXDelta += (rect.right - screenRight); 就是计算向右滑动的距离, 同理 scrollXDelta -= (screenLeft - rect.left); 是计算向左滑的距离.
    分析到这我们可以得出结论: 只需要自定义CustomScrollView 继承 HorizontalScrollView, 重写computeScrollDeltaToGetChildRectOnScreen, 将计算向右向左的距离改为屏幕的一般即可实现当滑动到没有全部显示的子view时, 滑动距离为屏幕的一半:

    public class CustomScrollView extends HorizontalScrollView {
    
        public CustomScrollView(Context context) {
            super(context);
        }
    
        public CustomScrollView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
        @Override
        protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) {
            if (getChildCount() == 0) return 0;
    
            int width = getWidth();
            int screenLeft = getScrollX();
            int screenRight = screenLeft + width;
    
            int fadingEdge = getHorizontalFadingEdgeLength();
    
            // leave room for left fading edge as long as rect isn't at very left
            if (rect.left > 0) {
                screenLeft += fadingEdge;
            }
    
            // leave room for right fading edge as long as rect isn't at very right
            if (rect.right < getChildAt(0).getWidth()) {
                screenRight -= fadingEdge;
            }
    
            int scrollXDelta = 0;
    
            if (rect.right > screenRight && rect.left > screenLeft) {
                // need to move right to get it in view: move right just enough so
                // that the entire rectangle is in view (or at least the first
                // screen size chunk).
    
                if (rect.width() > width) {
                    // just enough to get screen size chunk on
                    scrollXDelta += (rect.left - screenLeft);
                } else {
                    // get entire rect at right of screen
                    scrollXDelta += width / 2;   // change here
                }
    
                // make sure we aren't scrolling beyond the end of our content
                int right = getChildAt(0).getRight();
                int distanceToRight = right - screenRight;
                scrollXDelta = Math.min(scrollXDelta, distanceToRight);
    
            } else if (rect.left < screenLeft && rect.right < screenRight) {
                // need to move right to get it in view: move right just enough so that
                // entire rectangle is in view (or at least the first screen
                // size chunk of it).
                if (rect.width() > width) {
                    scrollXDelta -= (screenRight - rect.right);
                } else {
                    scrollXDelta -= width / 2;    // chang here
                }
    
                scrollXDelta = Math.max(scrollXDelta, -getScrollX());
            }
            return scrollXDelta;
        }
    }

    使用HorizontalScrollView焦点乱窜或失去焦点问题

    HorizontalScrollView的长度不能无限的设置, 当长度超过1万像素后会出现焦点乱窜或失去焦点的问题,
    这时因为在HorizontalScrollView的滑动逻辑中使用:

    FocusFinder.getInstance().findNextFocus(this, currentFocused, View.FOCUS_RIGHT);

    来确定下一个获得焦点的子view, 但是当HorizontalScrollView的长度超过1万像素后, 此方法返回值就不对了, 因为其内部的获得下个子view的算法中有一个方法:

        /**
         * Fudge-factor opportunity: how to calculate distance given major and minor
         * axis distances.  Warning: this fudge factor is finely tuned, be sure to
         * run all focus tests if you dare tweak it.
         */
        int getWeightedDistanceFor(int majorAxisDistance, int minorAxisDistance) {
            return 13 * majorAxisDistance * majorAxisDistance
                    + minorAxisDistance * minorAxisDistance;
        }

    这个方法值返回类型是int, 当majorAxisDistance过大时, 根据内部的计算方法很容易超过int的最大值,所以当HorizontalScrollView的长度过大时, 此方法的返回值就会溢出, 进而导致焦点乱窜或失去焦点的问题.

    展开全文
  • Android开发之TV端APP在手机上运行

    千次阅读 2016-12-06 16:03:16
    最近在开发电视的APP,接到一个任务,要开发一个手机的APP,让我先做测试,看手机上的一些服务在手机上是否能够正常运行?好吧,我先测试吧,不知道如何下手,让我写界面?还是算了吧,写了也没有用,就我那点...

    最近在开发电视端的APP,接到一个任务,要开发一个手机端的APP,让我先做测试,看手机上的一些服务在手机上是否能够正常运行?好吧,我先测试吧,不知道如何下手,让我写界面?还是算了吧,写了也没有用,就我那点审美观,写出来肯定用不上。于是我就想啊,既然都是Android系统,应该都可以运行吧,不管它,先安装上再说,结果遇到了下面几个问题。

    1、第一个问题

    安上之后,界面乱的一塌糊涂,我想,不应该啊,程序的屏幕适配已经做了啊,再乱,也不会是这样啊!查来查去,发现原来还真是屏幕适配出了问题。
    在手机端,一般而言宽是小于高的,而TV端宽是大于高的。在程序调用onCreate之后,若没有设置过横竖屏,TV端(横屏为默认)和手机端(竖屏为默认)获得的值是不一样的,所有出了问题,好吧,在初始化尺寸管理时,把在手机上得到的宽高调换一下,就ok了

    2、第二个问题

    在电视端,没有touch事件,只能通过遥控器的Key事件来作处理,而手机没有键盘,怎么办?弄个虚拟键盘,但是这事件该如何产生呢?网上搜了一大堆,好多都是下面这两个方法,好吧,做了一个悬浮窗(在这感谢一下伟大的互联网,是它让我可以快速地写一个悬浮窗),用第一个方法实现了想要的效果,虽然调试了一早上,第二个效果没有实现,可能是我不会用吧!

    方法一:
    Runtime runtime = Runtime.getRuntime();
    runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);
    方法二:(开启一个线程去执行)
    Instrumentation inst = new Instrumentation();
    inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);

    3、第三个问题

    做完这些,我在想,我能不能做一个悬浮窗,然后所有的TV应用都能够用它产生的事件做出响应,上面的方法只有本应用才起作用,其他应用是无法接收到的,那怎么办?思考手机上的键盘事件是怎么产生的?唉,菜鸟一个,暂时没法看懂Android源码!只能去网上找一些模拟方法,搜了好多,终于发现了一篇文章,原文链接在这儿

    import java.io.OutputStream;
    
    /** * 用root权限执行Linux下的Shell指令 * * @author jzj * @since 2014-09-09 */
    public class RootShellCmd {
        private OutputStream os;
        /**
         * 执行shell指令 
         * @param cmd 指令
         */
        public final void exec(String cmd) {
            try {
                if (os == null) {
                    os = Runtime.getRuntime().exec("su").getOutputStream();
                }
                os.write(cmd.getBytes());
                os.flush();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    
        /**
         * 后台模拟全局按键 
         * @param keyCode 键值
         */
        public final void simulateKey(int keyCode) {
            exec("input keyevent " + keyCode + "\n");
        }
    }

    用这个方法就可以实现所有的应用都可以接收到按键事件了,但是有点慢,希望有大神指出更快的方法。

    展开全文
  • 我是如何从零到一开发TV应用

    千次阅读 2019-06-09 15:53:04
    从没有接触过Android TV端的开发工作。当领导问能否在一周内做出一个TV端Demo时,自己心里还很是比较虚的。但是实际上,从开始调研到动手做到最后将Demo给领导演示出来,花了不超过3天的时间。当然这三天,每天都是...
  • 说人话就是我们下面的代理商想争取政府的雪亮工程,特将手机监控软件进行一个整改,兼容各大Android电视、Android机顶盒的这么一款软件。 功能简介 各户需求1、 把监控设备(DVR、NVR、摄像头)和IPTV进行...
  • Android 手机TV端屏幕共享助手

    千次阅读 2017-06-01 13:07:09
    主要功能是实现同局域网下,手机端和TV端连接并分享手机屏幕画面(手机端只支持Android 5.0级以上版本)。  好了,先上图。app端和tv端两个demo。  app端主界面截图。    至于TV端并没有实现
  • 电视盒子TV–开源电视影视APP 源码在文件夹里也丢了几个月一直没怎么玩,今天索性开源了吧视频可以快进,可以参考写法哦。 自己也在电视试过了,可以遥控的! 东西也算是基本写完了,就剩下抢先,搜索的图片显示不了...
  • Android TV 开发之 TV视频播放器

    千次阅读 热门讨论 2020-03-10 11:41:52
    Android TV 开发之 TV视频播放器 闲谈 最近公司又给了一个新任务,说要做电视机顶盒开发,这个机顶盒开发之前也没有接触过啊,没经验,这使我走了很多坑,写这个日志就是帮助和自己一样的新手开发代码顺利一些,少走...
  • 推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验风格上有很大的区别,本系列博文主要用TV播放器的实现去...
  • TV(电视)应用开发指南

    千次阅读 2019-09-17 11:52:23
    前阵子将一个手机APP改为TV应用,由于首次开发TV,故把开发过程中的一些问题记录下来,以备不时之需。
  • 电视TV.Net

    2013-03-25 23:32:49
    代码安全无压力 欢迎交流 有兴趣的可以跟我相互探讨 只有不懈的努力和奋斗 才能成功 加油
  • TV_Control Android机顶盒手机控制全套程序开源 介绍: ...软件截图 相关连接: 【源码地址】https://gitee.com/schuangye/tv_control 【作者主页】https://gitee.com/schuangye e.com/schuangye ...
  • 开发者做SMART TV应用开发适配,如何将现成的作品移植到智能电视平台,我们在日常和开发者的沟通中整理了开发者普遍提到的几类:《系统平台搭建SDK接口》、《UI交互适配》、《测试及上线》三方面和开发者就电视...
  • Android TV真机测试

    千次阅读 2017-10-05 08:49:20
    android TV真机测试,有两种测试方式,一个是和APP真机测试一样,使用数据线,第二个是打包APK测试;不管是哪种方式,在测试之前,需要在电视上打开开发模式。准备机顶盒号和电视(一般建议在广电局测试) android ...
  • 新骆驼TV直播源码.rar

    2021-04-28 15:28:32
    安卓端+电视盒子的电视直播软件一直很火,分享一套新骆驼IPTV完美版后端源码、APP源码,带有超详细安装配置说明。 新骆驼IPTV是完美版本的,EPG、会员管理、套餐管理、天气之类的功能均完善,亲测可用。 第一步...
  • 使用AndroidX版本的Android Studio开发的面向TV的APK,安装后,在电视默认主屏没有显示该APP的ICON,是怎么回事? 一开始没有注意到电视的Android版本,安装APK时出现“解释安装包出现问题”。查询该系统版本为...
  • 超级捕快是一款国产的优秀屏幕捕捉软件,超级捕快是国内首个拥有捕捉家庭摄像机DV、数码相机DC、摄像头、TV电视卡、电脑屏幕画面、聊天视频、游戏视频或播放器视频画面并保存为AVI, WMV, MPEG, SWF, FLV等视频文件的...
  • Apple TV开发-真机调试

    千次阅读 2018-11-18 16:24:58
    大家知道,Apple TV只有一个电源接口.一个以太网口.一个HDMI口.并没有USB口.或者是雷电口.然后按照通常的链接方法…我们去看看苹果是怎么建议的. USB cable…不是说好的没有USB线么.这肯定是水果的BUG.这里也没...
  • 淘宝抢购软件Tv协议下单,开了Tv免密了,还是软件上用不了免密的情况?
  • 内存溢出就是软件运行需要的内存,超出了java虚拟机给他分配的可用的最大内存 内存泄露就是在缓存图片文字等等的时候,没有关闭流所导致的内存泄露 ...
  • 解决全视频TV无法全屏的问题

    千次阅读 2019-11-24 22:47:22
    全视频TV里常有一些老视频在线观看,画质清晰而且中英字幕,唯一的缺点是无法全屏观看,我偶然发现用chrome可实现全屏观看(其他浏览器原理类似) 方法如下: 尝试一下其他浏览器(Firefox、IE、Edge)同样...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
  • 流媒体CEO张彦翔表示,视频网站TV版APP下架和清理,其实是总局对181号文规定的严格执行,即互联网电视播控平台上所有内容都由牌照商审核;关闭互联网电视终端产品中违规视频软件下载通道;未经批准的终端产品不允许...
  • 据中商情报网数据显示:2017年4月OTT直播媒体排名:湖南卫视第一。   直播媒体日均活跃终端数量的差距比较大,第一名与第十名的2倍多。直播频道日均收视时长中,湖南卫视排名第一位,日均单终端收视时长约1个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,547
精华内容 3,418
关键字:

tv端软件