Textureview+Mediplay 播放视频时无画面有声音

公司最近需要我们做个播放器,需要根据横竖屏自动切换视频的播放方向;刚开始我是用surfaceview控件+Mediplay来做播放器的,后面发现surfaceview不能对视频进行旋转,只能把surfaceview替换成Textureview;
这里我补充一下surfaceview与Textureview有哪些区别
surfaceview:
优点:
可以在一个独立的线程中进行绘制,不会影响主线程,
使用双缓冲机制,播放视频时画面更流畅
缺点:
Surface不在View hierachy中,它的显示也不受View的属性控制,所以不能进行平移,缩放等变换,也不能放在其它ViewGroup中。SurfaceView 不能嵌套使用;

Textureview:
优点:
支持移动、旋转、缩放等动画,支持截图
缺点:
必须在硬件加速的窗口中使用,占用内存比SurfaceView高,在5.0以前在主线程渲染,5.0以后有单独的渲染线程。

由上面的缺点可以知道,Textureview需要开启硬件加速(在AndroidManifest文件中application或activity节点添加android:hardwareAccelerated="true"即开启,false关闭);
不然就会无画面;
然而,硬件加速开启后,我发现没什么得到解决,我这个播放器依然是无画面;
最后通过不懈的努力后,才知道,Textureview与播放器路由选择有关,国家需要默认为en
SystemProperties.set(“persist.sys.country”, “en”);
最终问题得到解决
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值