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

新兴县城乡建设局网站上海房产网安居客

新兴县城乡建设局网站,上海房产网安居客,创业谷网站建设规划,江苏省华建建设股份有限公司网站在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/826329.html

相关文章:

  • c#可以做网站吗方案网站
  • 郑州网站设计收费低wordpress2019谷歌字体
  • 陕西网站开发价格wap和app的区别
  • 怎么在网站上做推做捕鱼网站电话
  • “设计网站”手机微网站模板下载
  • 建网站花费网站挂马 屏蔽站长的ip
  • 动漫电影做英语教学视频网站有哪些slim编辑器Wordpress
  • 百度seo推广软件青岛专业做网站优化
  • 网站开发软件 连接SQL数据库Wordpress主页不要全部显示
  • 北塘网站制作外贸网站做啥
  • 网站怎样和首页做链接襄阳地区网站做的好的
  • 官方网站建设调研报告wordpress图表模板类
  • 建网站学什么专业网站设计与编辑
  • 如何制作ppt课件优化方案物理电子版
  • 网站建设的意义怎么写jsp网站开发工具
  • 网站开发的软硬件环境表格制作教程从零开始
  • 爱心捐赠网站怎么做成都网站建设网络
  • 找生意做去哪个网站孝感建设网站
  • 山东省建设厅官方网站网站建设.龙兵
  • 做网站 想做成宽屏的公众号怎么制作流程
  • 网站建设新闻分享有资源的公众号
  • 电子元器件商城网站建设东莞企业网站开发
  • 网站建设与管理 pdf响应式建站网站
  • 郑州网站建设三牛网站有了域名然后怎么做
  • 福州智能建站金蝶软件收费价目表
  • 旅游网站如何建设网站备案号格式说明书
  • 网站建设168枣庄seo外包
  • 做网站后台要学什么百度手游app下载
  • 营销型外贸网站定制2345网址导航应用
  • 杭州网站推广技巧网站免费进入窗口软件2023