当前位置: 首页 > wzjs >正文

上海手机网站建设价格域名ip地址在线查询

上海手机网站建设价格,域名ip地址在线查询,中国十大旅游网站,美食网站开发前期准备在KTV应用开发中一个常见的场景需求就是一台设备要接多个显示屏,其中一个主屏一般都是触摸屏,通过VGA线连接,支持手点击操作点歌切歌等。另外还会有多个副屏,一般都是电视机,通过HDMI线连接。 有一个特点就是所有电视…

在KTV应用开发中一个常见的场景需求就是一台设备要接多个显示屏,其中一个主屏一般都是触摸屏,通过VGA线连接,支持手点击操作点歌切歌等。另外还会有多个副屏,一般都是电视机,通过HDMI线连接。

有一个特点就是所有电视显示屏的播放MV画面都是同步,而触摸屏上也会有一个小窗口同步显示播放MV画面。那么这个是怎么实现的呢?所有副屏画面同步很容易,物理方法就可以实现,接一个HDMI多屏拓展器就可以。而主屏是VGA输出的,而且主要是显示操作界面的,跟电视上的画面并不完全一样,也就是双屏异显,只是小窗口画面一样,这就需要软件上来处理了。

首先是要实现双屏异显,通过Presentation类实现副屏显示,之前有过这方面介绍android 双屏异显场景,如何使副屛Presentation响应遥控操作

而主屏(触摸屏)小窗口同步显示副屏电视端HDMI播放画面,首先想到的就是有没有办法将播放画面拷贝过来?一般有两种方式:

方式一:底层修改Surfaceflinger,将HDMI上显示的layer层试图直接拷贝到副屏上显示,此方法一般是设备厂家ROM开发,有系统源码才可以实现。

方式二:独立普通应用实现,不依赖底层,Exoplayer+TextureView实现,textureView.getBitmap()方法就可以直接得到当前播放帧的位图,在主屏MainActivity通过ImageView进行显示即可。

1.布局文件添加TextureView和ImageView

<TextureViewandroid:id="@+id/video_view"android:layout_width="match_parent"android:layout_height="match_parent"/><ImageViewandroid:id="@+id/iv_pip"android:layout_width="200dp"android:layout_height="200dp"android:layout_gravity="left|top"android:layout_marginLeft="10dp"android:layout_marginTop="@dimen/size_dp_10" />

2.自定义TextureListener,在回调中得到surface设置给Exoplayer 

    private TextureView.SurfaceTextureListener mTextureListener = new TextureView.SurfaceTextureListener() {@Overridepublic void onSurfaceTextureAvailable(@NonNull SurfaceTexture surfaceTexture, int i, int i1) {Surface mSurface = new Surface(surfaceTexture);exoPlayer.setSurface(mSurface);LOG.info("onSurfaceTextureAvailable");}@Overridepublic void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surfaceTexture, int i, int i1) {LOG.info("onSurfaceTextureSizeChanged");}@Overridepublic boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surfaceTexture) {LOG.info("onSurfaceTextureDestroyed");return false;}@Overridepublic void onSurfaceTextureUpdated(@NonNull SurfaceTexture surfaceTexture) {myViewBinding.ivpip.setImageBitmap(myViewBinding.videoView.getBitmap());}};

 3.给TextureView设置监听,在更新画面回调onSurfaceTextureUpdated中获取当前帧画面位图设置到ImageView中进行显示。

myViewBinding.videoView.setSurfaceTextureListener(mTextureListener);

http://www.dtcms.com/wzjs/143673.html

相关文章:

  • 怎么做网站弄网盟seo自动优化工具
  • 重庆网站建设快速建站搜狗seo怎么做
  • 企业口碑推广宁波seo营销平台
  • 沈阳专业网站制作公司微信营销的功能
  • 哈尔滨设计公司排名引擎搜索优化
  • wordpress 更改数据库密码错误北京网站sem、seo
  • 做外贸需要用什么网站站长工具友链检测
  • 昆明做网站建设价位排行榜哪个网站最好
  • 国外小型网站关键词优化排名seo
  • 龙华网站建设yihe kj品牌推广策划营销策划
  • 网站导航栏三级菜单代码百度指数搜索热度
  • 我要做一个网站 需要营业范围吗百度手机助手app下载安装
  • wordpress 导出重庆网站seo多少钱
  • 网站建设公司的工资南京做网站的公司
  • 没网站做推广优秀软文范例200字
  • 厦门网站开发公司电话网上销售都有哪些平台
  • 青海做网站邮件营销
  • 网络优化方案百度百科优化
  • 如何查看网站的点击量网络宣传方式有哪些
  • 国外html5做的音乐网站如何开发网站
  • 免费营销软件网站建设网站的推广方案的内容有哪些
  • 网站怎么做图片动态交换友情链接的条件
  • 杭州建设招聘信息网站windows优化大师有必要安装吗
  • 去哪里找需要推广的app360优化关键词
  • 莆田网站制作企业公司建官网要多少钱
  • 英文网站建设大概多少钱免费刷赞网站推广qq免费
  • 莱芜四中网站全球搜钻
  • 上海崇明网站建设网站多久被百度收录
  • 长沙百度网站优化免费网站免费
  • 重庆做网站建设公司哪家好济南新闻头条最新事件