首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android中使用videoview的部分设备在横屏模式下视频不全屏

在Android中使用VideoView播放视频时,部分设备在横屏模式下视频可能无法全屏显示的问题,可能是由于以下原因导致的:

  1. 设备屏幕分辨率不支持全屏播放:某些设备的屏幕分辨率可能不足以支持视频的全屏播放,导致在横屏模式下视频无法填满整个屏幕。
  2. 视频源的宽高比与设备屏幕宽高比不匹配:如果视频源的宽高比与设备屏幕的宽高比不匹配,视频在横屏模式下可能无法完全填充屏幕。
  3. VideoView的布局参数设置不正确:在布局文件中,需要确保VideoView的宽度和高度设置为match_parent,以便在横屏模式下填充整个屏幕。

解决这个问题的方法可以尝试以下几种:

  1. 使用TextureView替代VideoView:TextureView是Android提供的一个可用于播放视频的视图组件,相比VideoView具有更强大的功能和更好的适应性。可以尝试使用TextureView来播放视频,以解决横屏模式下视频不全屏的问题。
  2. 动态调整VideoView的宽高比:可以通过动态设置VideoView的宽高比,使其与设备屏幕的宽高比匹配,从而实现视频的全屏显示。可以通过计算视频源的宽高比,并根据设备屏幕的宽高比动态调整VideoView的宽高比。
  3. 使用全屏播放器库:可以考虑使用第三方的全屏播放器库,如IjkPlayer、ExoPlayer等,这些库提供了更多的定制化选项和功能,可以更好地适应不同设备和场景的需求。

需要注意的是,以上解决方法仅供参考,具体的实现方式可能因具体情况而异。另外,腾讯云提供了一系列与视频相关的云服务产品,如腾讯云点播、腾讯云直播等,可以根据具体需求选择相应的产品进行集成和开发。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发之使用VideoView实现视频播放、去除边框

" + R.raw.guide; video.setVideoURI(Uri.parse(uri)); video.start(); } 以上代码实现了视频播放,但视频并没有按我们想...、全屏播放,所以需要第二步: 二、视频全屏播放(去除底部出现边框): 想要对VideoView进行参数配置,就需要用到setLayoutParams方法。...完成上一步后运行,发现虽然视频可以全屏,但显示完全失真,不是我们想要效果,如果手机开启了自动转,我们会发现将手机转到视频播放效果才是我们想要。如何让视频播放时就自动转到播放呢?...三、设置视频播放: 每个Activity是否允许转,当前显示方式是还是竖,都可以通过AndroidManifest.xml文件设置: 比如我当前播放视频Splash这个activity... 有些时候我们希望某些页面只有竖或者,担心转后布局会变难看,就可以响应activity设置这个属性,用户怎么转都不会再变了!

1.2K20

基于ExoPlayerExoPlayerVideoView

写在前面 Android设备,播放视频和音乐是非常普遍Android框架提供了一个对于媒体操作最省代码解决方案:MediaPlayer。...本文并不是讲述ExoPlayer如何使用,而是一款基于ExoPlayerVideoView。ExoPlayerVideoView旨在提供一个快捷视频播放布局解决方案。 概览 ? 亮度调节 ?... ? 竖 ? 音量 开始 ExoPlayerView 是一个基于ExoPlayer视频播放器,并且做了很多封装。...ExoPlayerView是实际工作产物,可能并无法完全满足各位实际工作要求,但可以借鉴。...Others 你也可以时候加入一个自定义布局: videoView.addViewToControllerWhenLandscape(view); 你添加布局将被加入FrameLayout

3.8K30

腾讯云点播 SDK 集成接入之踩坑&填坑记

可见,商业第三方组件项目的前期和中后期,有着无以比拟优越性,也常常是大部分开发者优先选择。...因此,我们就来看看如何使用商业第三方组件实现视频点播,本次我们尝试是腾讯云点播组件,看看如何集成、接入,以及使用过程遇到哪些坑。...,上传成功后,就可以列表【4】得到视频对应 fileId 。...设置整个 SuperPlayerView 为满屏 将屏幕旋转为 通过这5个步骤,确实可以实现,并且全屏播放,那为什么我们点击全屏时候,实际上只是,而没有全屏呢?...因为页面被销毁和重建了,点击了全屏按钮以后,实际上相当于重新进入了一个新页面,前面【1~4】个步骤设置参数实际上都无效了,TXCloudVideoView 也重新创建了,所以视频也会从头开始播放

3.5K20

基于VideoView自定义控制面板视频播放器

本文实例为大家分享了VideoView原生自定义视频播放器具体代码,供大家参考,具体内容如下 项目用到技术点和亮点 VideoView封装视频播放工具类 自定义视频控制面板 手势识别器使用 1....VideoView封装视频播放工具类 视频播放这些其实都挺简单VideoView这个类都提供了相应方法,详细见代码 代码都比较简单,不过需要注意是要在主线程更新视频面板UI信息。...//横竖切换按钮点击方法 public void toggleScreenDir(View v){ if (isCurrentLandscape) {// 如果当前是,则切换为竖,然后把按钮为变为变大图标...手势识别器使用 //1....自定义视频控制面板 代码比较简单同时代码不长 都有注释 需要可以参考 大神勿喷 package com.zlc.video; import android.app.Activity; import

2.1K20

Android 实现视屏播放器、边播边缓存功能、外加铲屎(IJKPlayer)

Σ( ° △ °|||) 特别是Android拍摄视频,旋转不是视频本身图像,而是增加了旋转信息,而这个时候你需要做就是识别它,然后转了它丫。...另外,因为Android本身MediaPlaer和VideoView自身就处理好所以不需要你旋转。...这里有一个是TextureView动态添加,动态添加好处是你可以不停止视频情况下载不同逻辑播放器中切换视频播放,比如列表全屏。...如果全屏的话,恢复到正常画面是最好有一个延时,这样画面才不会出现背景抖动问题,还有最关键,Maifest文件。...//不要忘记配置activity,所有背景activity android:configChanges="orientation|keyboardHidden|screenSize" 普通列表播放视频快速移动可能出现错位问题

2.8K90

Android开发笔记(一百二十五)自定义视频播放器

视频播放方式 Android播放视频方式有两种: 1、使用MediaPlayer结合SurfaceView进行播放。...甚至布局文件中都不用声明视频视图,而在代码动态添加视频画面,由此便衍生出VideoView和MediaController两种集成方式: 1、布局文件声明VideoView。...2、代码动态添加VideoViewVideoView对象使用步骤同上。...如果只是修改代码,其实还不能完全实现自动全屏功能,主要问题如下: 1、屏幕顶部系统状态栏依然留在屏幕顶端; 2、App自身导航栏也仍旧没有隐藏; 3、视频播放途中,如果手机屏幕发生切换,例如从竖变为...下面是一个设置xml例子,其中orientation表示竖/切换,keyboardHidden表示键盘弹出/隐藏,screenSize表示屏幕大小发生变化。

2.6K40

Android 实现视屏播放器、边播边缓存功能、外加铲屎(IJKPlayer)

Σ( ° △ °|||) 特别是Android拍摄视频,旋转不是视频本身图像,而是增加了旋转信息,而这个时候你需要做就是识别它,然后转了它丫。...另外,因为Android本身MediaPlaer和VideoView自身就处理好所以不需要你旋转。...这里有一个是TextureView动态添加,动态添加好处是你可以不停止视频情况下载不同逻辑播放器中切换视频播放,比如列表全屏。...6、如果全屏的话,恢复到正常画面是最好有一个延时,这样画面才不会出现背景抖动问题,还有最关键,Maifest文件。...//不要忘记配置activity,所有背景activity android:configChanges="orientation|keyboardHidden|screenSize" 7、普通列表播放视频快速移动可能出现错位问题

2.6K30

H5案例分享:微信视频播放全屏问题(转)

微信视频播放全屏问题    ios和安卓手机里微信播放视频时,会遇到不少问题,例如需要手动点击,视频才会播放,并且视频会跳出微信框,出现控制条,如果视频不是腾讯视频,播放完毕会出现腾讯视频广告推送...preload="auto" webkit-playsinline="true" /*这个属性是ios 10设置可以 让视频小窗内播放,也就是不是全屏播放...使用AirPlay可以直接从使用iOS设备不同位置播放视频、音乐还有照片文件,也就是说通过AirPlay功能可以实现影音文件无线播放,当然前提是播放终端设备也要支持相应功能。...不过测试过程中发现,不同版本ISO和安卓效果略有不同。 x5-video-orientation:声明播放器支持方向,可选值landscape , portraint竖。...安卓微信浏览器是X5内核,一些属性标签比如playsinline就不支持,所以始终全屏。    还有个问题,Android微信里面,就算加上了上面的属性,还会出现上下有黑边,不能全屏问题。

6.6K30

Android P 凹口支持,打造全面体验

目前,已经有 11 家厂商相继发布了 16 款带有 "刘海" 设计手机,其中部分机型为 Android P Beta 设备。预计今后会有更多凹口设备与消费者见面。...好消息是:即使凹口设备上,大部分应用内容并不会受到影响。...默认情况,如果开发者模式未对状态栏设定任何特殊标志位,状态栏会根据屏幕缺口情况自行调整高度 (缺口高度 ≤ 状态栏高度),而应用内容则会显示状态栏以下区域;全屏模式,系统会在应用窗口四周保留黑边...首先,厂商需要确保设备凹口屏幕不会对应用造成不良影响,这涉及到以下两项关键要求: 模式,若没有设定特殊标志位,状态栏高度必须大于或等于缺口高度; 全屏模式,缺口区域必须整个落在黑色填充区内...特殊模式 某些运行 Android 8.1 (API 等级 27) 或更早版本设备上,用户可以通过开启 "特殊模式",允许系统全屏模式延伸应用窗口至缺口区域。

1.4K20

Android原生视频播放VideoView使用

本文实例为大家分享了Android原生视频播放VideoView具体代码,供大家参考,具体内容如下 布局文件activity_video.xml <RelativeLayout xmlns:android...) { @Override public boolean onError(MediaPlayer mp, int what, int extra) { return false; } }); //设置视频文件加载完毕以后回调函数.../mda-ig4tp6gnqwu5we8i.mp4"); videoView.setVideoURI(uri); //设置为全屏模式播放 setVideoViewLayoutParams(2); } /...** * 设置videiview全屏和窗口模式 * * @param paramsType 标识 1为全屏模式 2为窗口模式 */ public void setVideoViewLayoutParams...; //停止回放视频文件 videoView.stopPlayback(); } /** * 页面从暂停恢复 */ @Override protected void onResume() { super.onResume

2.4K51

Android多媒体之视频播放器(基于MediaPlayer)

零、前言 对于视频播放,Android有内置VideoView,用起来非常简单 本篇从自定义VideoView来封装MediaPlayer开始说起 <VideoView android...和MediaPlayer来播放视频 [2].使用媒体库ContentProvider查询手机中视频,并列表显示 [3].更改视频宽高以及适应横竖切换 [4].自定义控制界面以及倍速播放 [5].视频封面图...//模式 if (videoSizeRate > 1) { ratio = Math.min(widthRateLand, heightRateLand);...VideoViewApi自己实现控制逻辑,细心一点还是不难,就是麻烦 界面如下,贴布局了,比较简单,也挺多,这里说一显示面板后5秒后隐藏逻辑 private val mHandler...获取帧.png 基本上也就这么多了,最后讲一视频封面帧图片获取:数了一这帧大概15秒 测试了一秒数越大,获取图片速度越慢,也就是越卡,所以还是给0吧 如果在Adapter里实时加载会很卡

5.4K52

视频H5 video最佳实践

,设置为 true 是防止 x5-video-orientation="portraint" // 播放器方向, landscape,portraint竖,默认值为竖 style=...使用AirPlay可以直接从使用iOS设备不同位置播放视频、音乐还有照片文件,也就是说通过AirPlay功能可以实现影音文件无线播放,当然前提是播放终端设备也要支持相应功能 x5-video-player-type...不过测试过程中发现,不同版本IOS和安卓效果略有不同 x5-video-orientation: 声明播放器支持方向,可选值landscape , portraint竖。...无论是直播还是全屏H5一般都是竖播放,但是这个属性需要x5-video-player-type开启H5模式 x5­-video­-player­-fullscreen:全屏设置。...). android x5-video-player-type="h5"属性,腾讯x5内核系android微信和手Q内置浏览器用浏览器webview内核,使用这个属性微信中视频会有不同表现,

4.2K30

TRTC 视频旋转场景方案

场景介绍 在网络会议、双人视频通话等场景时,将手机、竖放置场景,实现本地和远端都可以看到正常画面效果。...3)根据不同旋转角度,设置视频编码参数,即/竖编码 4)发送 SEI 消息,告知房间内其他用户,当前是还是竖 5)根据不同旋转角度,旋转自己订阅远端流画面...2)当推流端旋转手机时,可以收到发送 SEI 消息,根据传递过来或竖,调整渲染远端流 view 宽高,避免出现黑边 代码逻辑 1)TRTC SDK 版本号 这里可以指定使用...当手机旋转时,如:90度、180度、270度时,需要将 activity 调整设置对应 或竖 使用 OrientationEventListener 实时监听手机旋转角度...就设置编码参数 * 2)发送 SEI 消息 * 1.1)如果当前是推流,就告诉房间内其他人,我当前 * 1.1.1)房间内其他用户收到后,调整对应用户 view

1.6K60

Android开发重力传感器用法实例详解

本文实例讲述了Android开发重力传感器用法。...右侧面朝上时候,y值为-g 了解了重力传感器X,Y,Z含义之后下面我们就开始学习如何使用 首先我们创建一个传感器管理器和一个传感器监听器,管理器用来管理传感器以及创建各种各样传感器,监听器用来监视传感器变化并且进行相应操作...TextView标签,不再赘述 tv_orientation.setText("Orientation:"+x+","+y+","+z); } } 我们onResume()方法创建重力传感器,并向系统注册监听器...接下来看一个Android用重力传感器做横竖切换例子 播放视频时候,可能要做横竖切换,但是,用户可以设置自己手机关掉屏幕旋转,这个时候就需要想其他办法了,比如:重力传感器。...(params1); Toast.makeText(getApplicationContext(), , 0).show(); Log.e(test, ); } } @Override public

2.1K20

全民K歌折叠适配探索

详情页展示视频内容原则如下: 尽可能完整展示视频内容(溢出) 尽可能利用用户屏幕(屏幕高度-顶部Bar-底部Bar-底部操作部分) 窄视频不可低于最低高度限制(保障视频区域歌词展示与操作) 总体来说...在手持设备上,两个应用可以分屏模式左右并排或上下并排显示。电视设备上,应用可以使用画中画模式,在用户与另一个应用互动同时继续播放视频。 ? ?...另外,9.0以下设备模式仅有一个应用会处于焦点状态,而另外应用则会处于暂停运行状态,这也会导致界面实际可见,但生命周期受到影响,从而影响统计数据。...如果使用这样模式,我们需要在menifest Application 或对应 Activity 声明: <application    android:resizeableActivity=...ADB 如果你没有折叠设备,则可以使用adb命令进行强制模拟这个过程: # 折叠切展开模拟方法: #(1)预先将手机设置主分辨率: adb shell wm size 1148x2480 #(2)通过修改手机分辨率为全屏分辨率模拟状态切换

2.3K30

Android 9.0系统新特性,对刘海设备进行适配

这种属性允许应用程序内容模式下自动延伸到刘海区域,而在模式则不会延伸到刘海区域。...可以看到,模式应用程序状态栏部分刚好占据了手机刘海区域,并且系统还会根据刘海高度来自动调整状态栏高度,这样应用程序内容自然是不会被刘海部分遮挡到。...现在如果我们旋转一手机,模式效果如下图所示。 ? 这个时候,手机刘海区域会整个变成一条大黑边,应用程序内容是不允许延伸到这部分区域里,这样也不会产生内容被遮挡情况。...这里我就使用LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES属性,并且配合着沉浸式模式代码,来编写一个全屏UI界面,以此模拟视频和游戏类App效果。...现在重新运行一程序,效果如下图所示。 ? 可以看到,程序进入了全屏沉浸式体验效果,并且我们布局文件设置背景图是可以延伸到刘海区域,这就使得手机屏幕空间得到了更充分利用。

77710

vivo官网APP全机型UI适配方案

原则也比较简单,尽可能展示更多内容,不要出现大面积空白区域。下面没有介绍分栏模式适配,因为分栏模式也可能被用户关闭,最终成为全屏模式,所以说,可以选择只适配全屏模式,这样适配成本较低。...区分不同设备前,先看下能够从设备获得哪些信息?...Activity、Fragment、View onConfigurationChanged获得newConfig传入,如果获得不了该值,可以使用getScreenType()方法 public...Answer:以不变应万变,使用一套物料,适配不同机型已经可以落地了,不用再担心不同机器上展示统一问题。...5.2.2 我们还有什么要改进回首方案,我们这里做到使用全屏模式去适配不同机型,更多适用于像京东、淘宝、商城等电商类APP上,实际上,现在有些非APP会采用分栏形式做适配,这也是一种跟用户交互方式

1.5K30

Android监听横竖切换功能

偶然项目中用到播放视频时,需要视频全屏播放,所以需要监听屏幕横竖切换事件。 横竖切换监听效果: ?...让Activity捕捉到该事件,需要做如下步骤: 声明Activity需要捕捉事件类型,manifest配置: <activity android:name=".MainActivity" android...“mnc“ 移动网号,一个国家或者地区,用于区分手机用户服务商。 “locale“ 所在地区发生变化。 “touchscreen“ 触摸已经改变。...).show(); } } Configuration.ORIENTATION_LANDSCAPE 竖 Configuration.ORIENTATION_PORTRAIT 另外: 设置...activityandroid:configChanges属性时,切换横竖会调用各个生命周期方法,调一次,竖调用2次 设置activityandroid:configChanges=”orientation

2.6K20
领券