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

建站网站模板江西企业网站建设

建站网站模板,江西企业网站建设,做网页培训,广东建设工程质量安全协会网站TextureView默认以fitxy的方式加载surface数据,如果需要等比全屏播放视频,避免拉伸,可以采用Matrix对TextureView进行变换 废话不多说,直接上代码 public class BaseIjkPlayer implements TextureView.SurfaceTextureListener{/…

TextureView默认以fitxy的方式加载surface数据,如果需要等比全屏播放视频,避免拉伸,可以采用Matrix对TextureView进行变换

废话不多说,直接上代码

public class BaseIjkPlayer implements TextureView.SurfaceTextureListener{//视频缩放,调整比例private void resolveStretching(float textureViewWidth,float textureViewHeight){if(textureView==null){return;}if(ijkMediaPlayer==null){return;}try {float videoWidth = ijkMediaPlayer.getVideoWidth(); //宽float videoHeight = ijkMediaPlayer.getVideoHeight(); //高if(textureViewWidth==0||textureViewHeight==0||videoWidth==0||videoHeight==0){return;}Matrix matrix = getMatrix(textureViewWidth, textureViewHeight, videoWidth, videoHeight);textureView.setTransform(matrix);textureView.postInvalidate();}catch (Exception e){Log.d(TAG, "resolveStretching: error"+e);}}//获取Matrix    private @NonNull Matrix getMatrix(float textureViewWidth,float textureViewHeight,float videoWidth,float videoHeight) {float sx = textureViewWidth / videoWidth;float sy = textureViewHeight/ videoHeight;Matrix matrix = new Matrix();//第1步:把视频区移动到View区,使两者中心点重合.matrix.preTranslate((textureViewWidth - videoWidth) / 2, (textureViewHeight - videoHeight) / 2);//第2步:因为默认视频是fitXY的形式显示的,所以首先要缩放还原回来.matrix.preScale(videoWidth / textureViewWidth, videoHeight / textureViewHeight);//第3步,等比例放大或缩小,直到视频区的一边和View一边相等.如果另一边和view的一边不相等,则留下空隙if (sx >= sy){matrix.postScale(sy, sy, textureViewWidth / 2, textureViewHeight / 2);}else{matrix.postScale(sx, sx, textureViewWidth / 2, textureViewHeight / 2);}return matrix;}
}

在onSurfaceTextureAvailable才能拿到textureViewWidth和textureViewHeight的真实长度

public class BaseIjkPlayer implements TextureView.SurfaceTextureListener{@Overridepublic void onSurfaceTextureAvailable(@NonNull SurfaceTexture sur, int width, int height) {this.surface = new Surface(sur);ijkMediaPlayer.setSurface(surface);resolveStretching(width,height);}//省略其他的SurfaceTextureListener的实现...
}

别忘了添加监听

public class BaseIjkPlayer implements TextureView.SurfaceTextureListener{public IjkMediaPlayer ijkMediaPlayer;//初始化private void init() {ijkMediaPlayer = new IjkMediaPlayer();//...省略一些配置textureView.setSurfaceTextureListener(this);}
}
http://www.yayakq.cn/news/318300/

相关文章:

  • 陕西建设网网站集群wordpress wp_query 排序
  • 个体工商户能做网站吗网页制作教程零基础合集
  • 高大上的企业网站网站开发明细
  • dedecms产品展示织梦模板(营销型网站)哪里有做网站服务商
  • 手机网站开发算什么费用茗匠智能门店管理系统
  • 聚成网络网站建设一篇网站设计小结
  • 淄博网站建设招聘wordpress运行导入器
  • 朝阳市营商环境建设监督局网站wordpress条文件夹
  • 温州公司建设网站制作网页设计图片修改后是否可以商用
  • 给网站设置关键词网站注册人查询
  • html怎么做查询网站logo设计网站哪个好一些
  • 电商网站页面在自己电脑上建设网站
  • 郑州网站运营实力乐云seowordpress有广告插件下载
  • 泰州营销型网站建设公司做的网站如何开启伪静态
  • 网站建设与运营合同网站开发上线ftp怎么用
  • 网站界面设计修改要多少钱温州设计集团网站建设
  • 机械技术支持东莞网站建设服务器创建多个网站吗
  • 做h5的网站的区别互联网技术学院
  • 凡科建站官网网站模板seo标题关键词优化
  • 乐云seo网站建设公司免费logo图片在线制作
  • 网站改名工信部需要怎么做深圳外贸公司在哪个区
  • 自己的电脑做网站空间视屏工信部做网站认证吗
  • 四大门户网站的优缺点网站开发需要多少钱如何
  • 经典营销型网站wordpress手机上发文
  • wordpress商城源码seo和竞价排名的区别
  • 标准化信息网站建设与应用paypal客户端网站建设评价
  • 等保二级网站建设方案fotor懒设计官网
  • 114网站做推广怎么样wordpress打字特效
  • 网站建设有哪些推广渠道WordPress有哪些优秀主题
  • 高端网站欣赏wordpress带灯箱的主题