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

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

做项目需要播放一个引导视频,本以为很简单,结果动手时发现总有瑕疵,幸好有度娘,现把收获总结如下: 一、实现视频播放: 注明我这里要播放的是Android项目中的资源文件,而不是访问SD卡播放视频。...,但视频并没有按我们想的横屏、全屏播放,所以需要第二步: 二、视频全屏播放(去除底部出现的边框): 想要对VideoView进行参数配置,就需要用到setLayoutParams方法。...完成上一步后运行,发现虽然视频可以全屏,但显示完全失真,不是我们想要的效果,如果手机开启了自动转屏,我们会发现将手机转到横屏后视频的播放效果才是我们想要的。如何让视频在播放时就自动转到横屏播放呢?...三、设置视频横屏播放: 每个Activity是否允许转屏,当前显示方式是横屏还是竖屏,都可以通过在AndroidManifest.xml文件中设置: 比如我当前播放视频时在Splash这个activity...,担心转屏后布局会变难看,就可以在响应的activity中设置这个属性,用户怎么转屏都不会再变了!

1.4K20

iOS 全局禁止横屏,但视频播放界面选择性横屏的解决办法

有时我们的APP并没有适配横屏的需求,但是在个别视频播放界面,我们需要在播放视频的时候横屏,退出全屏的时候不能横屏,但是有时候并没有原生API并没有给出解决方案。...当其他界面不支持横屏时: 这个解决方法比较容易 在 APPDelegate.h 文件中增加属性:是否支持横屏 /*** 是否允许横屏的标记 */ @property (nonatomic,assign...)BOOL allowRotation; 在 APPDelegate.m 文件中增加方法,控制全部不支持横屏 - (UIInterfaceOrientationMask)application:(UIApplication...appDelegate.allowRotation = NO;即可 播放界面横屏 所以这里可以使用 UIWindow 的通知,就可以解决 [[NSNotificationCenter defaultCenter...,增加逻辑让其强制编程竖屏,这样当全屏播放的时候,点击 down("完成") 时,就会自动变成竖屏了。

4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    鸿蒙开发实战案例:视频横竖屏切换及进度条热区拖动

    介绍本示例介绍了@ohos.multimedia.media组件和@ohos.window接口以及使用触摸热区实现视频横竖屏切换及进度条热区拖动的功能。该场景多用于横竖屏视频等媒体播放。...效果图预览使用说明:点击全屏观看按钮,切换横屏窗口。点击左上角返回按钮,恢复竖屏窗口。在进度条上方位置横向拖动可带动进度条移动。...和AVPlayer通过surfaceId绑定,这样可以在XComponent组件内实现视频播放功能。...is:' + this.surfaceID); this.avPlayer.surfaceId = this.surfaceID; }使用AVPlayer 中的width和height属性判断是横屏视频还是竖屏视频...; // 获取视频宽高比 if(this.avPlayer.width >= this.avPlayer.height) { // 判断是横屏视频还是竖屏视频 this.verticalVideo

    9220

    HarmonyOS 开发实践 —— 基于XComponent的视频播放器高性能体验

    //    // - pos,number类型,表示填写的数据在资源文件中的位置,可选,当fileSize设置为-1时,该参数禁止被使用。   ...  }}src.fileSize = this.fileSize;this.isSeek = false; // 支持seek操作this.player.dataSrc = src;场景二:同一页面内视频播放横竖屏全屏切换无缝转场方案设置竖屏和全屏两个按钮...return  } else {    // 切换横屏    if (this.isVerticalScreen) {      this.isVerticalScreen=! ...this.isVerticalScreen  }}场景三:跨页面视频播放无缝转场方案在page1页面通过GlobalContext将AVPlayer当做全局单例变量放到MapAVPlayer...将进度条的值和avplayer的当前时间实现双向绑定。定时任务刷新视频当前播放时间。给XComponent添加水平拖动手势实现seek。

    21310

    google 进入分屏后在横屏模式按home键界面错乱( 四)

    google 进入分屏后在横屏模式按home键界面错乱( 四) 你确定你了解分屏的整个流程?...代码阅读,请到此处http://androidxref.com 查看原生代码 google 分屏 横屏模式 按home键界面错乱故障分析(三) google 分屏 横屏模式 按home键界面错乱故障分析...最后,我们延伸了一个分割线在退出的时候处理流程。 为了我们分屏整个系列的完整性,我们这节开始研究,分屏下的转屏过程。...由于我们当前在分屏模式下,这里会将全屏栈的所有TASK变为非全屏,于是我们全屏栈的TASK此处都会走下来(mFullscreen==false)我们这里看到,系统给了DOCKED_STACK_ID特殊的处理...ActivityManagerService.java里面,我们看完了mWindowManager.setNewConfiguration,这里依据当前的改变,来判断是否有stack需要变化,我们因为在分屏模式下

    1.3K80

    iOS视频播放的基本方法

    虽说如此,这还是将它们的用法总结了一下,下面我们简单来了解一下四种播放方式的区别: ?...,使用它播放视频需要将其自带的视频View添加到视图控制器的View上才能显示视频,使用步骤如下: 第一步:引用MediaPlayer框架,声明视图控制器属性PlayerController #import...completion:nil]; 三、AVPlayer AVPlayer相比上述两种方式,播放视频功能更加强大,使用也十分灵活,因为它更加接近底层。...但是AVPlayerItem必须是在视频资源加载到可以播放的时候才能使用,这是受限于网络的原因。...获取当前播放时间与总时间 在此之前我们需要首先了解一个数据类型,也就是上述操作中的CMTime, 在AVPlayer的使用中我们会经常用到它,其实CMTime是一个结构体如下: typedef

    4.4K20

    Objective-C AVPlayer播放视频的使用与封装大致效果界面搭建Demo地址

    AVPlayer封装.gif 界面搭建 看下成员变量就知道我怎么搭建的了,这里我将video播放层的size作为参照量,对所有控件的size按照其video的size宽高进行比例缩放 @interface...property (nonatomic,strong) AVPlayer *player; //播放类 @property (nonatomic,strong) AVPlayerLayer...所以需要重设frame的控件在懒加载中设置frame,调用时即刷新frame。...的基本操作 基本操作包括 播放 、暂停、 停止、 播放指定位置、缓存进度 播放网络地址时 在info.plist中添加 App Transport Security Settings字典中添加Allow...添加项.png 使用AVPlayer播放视频就必须用到AVPlayerlayer用来显示播放视图。 //加载显示层 - (AVPlayerLayer*)playerlayer { if (!

    1.5K40

    EasyPlayer流媒体视频播放器宽屏模式的开发与实现

    EasyPlayer流媒体视频播放器可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持RTSP、RTMP、HLS、FLV、WebRTC等格式的视频流播放,并且已实现网页端实时录像、在iOS...EasyPlayer.js播放器目前可支持全屏播放,在项目现场中,有用户提出需求,希望能在多分屏中实现宽屏播放(放大,但非全屏,效果如下):针对用户的需求,我们对此进行了实现。...EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发...RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。...平台可支持单画面与多画面视频展示播放(1、4、9、16个画面窗口),可同时播放多路视频流,也能支持视频定时轮播,可应用在智慧工地、智慧工厂、智慧校园、智慧景区、智慧水利等场景中。

    50820

    HarmonyOS 开发实践——基于AVPlayer的视频播放

    1 场景描述示例场景:AVPlayer播放视频ArkTS实现,创建AVPlayer,设置播放资源和窗口,设置播放参数,播放控制(播放/暂停/跳转),重置,销毁资源,播放完成后切换视频。...本示例就是使用avplayer进行视频播放的实现,功能包括多种方式播放视频,以及对于视频播放的控制。具体实现步骤可分为Step1: 调用createAVPlayer()创建AVPlayer实例。..._258.mp4'; // 播放网络视频}}2.使用fs文件系统打开沙箱地址获取媒体文件地址并通过dataSrc属性进行播放async avPlayerLiveDemo() {  // 创建avPlayer...media.createAVPlayer();// 创建状态机变化回调函数this.setAVPlayerCallback(avPlayer);// dataSrc播放模式的的播放源地址,当播放为Seek...videoSizeChange用于视频播放,监听视频播放的宽高信息,可用于调整窗口大小、比例。audioInterrupt监听音频焦点切换信息,搭配属性audioInterruptMode使用。

    26820

    iOS微信小视频优化心得

    小视频播放需求 可以同时播放多个视频 用户操作界面时视频可以继续播放 播放时不能卡住界面,视频滑进界面内后要立即播放 视频在列表内播放是静音播放,点击放大是有声播放 小视频播放方案 1....单独使用AVPlayer是无法显示视频的,要把它添加到AVPlayerLayer里才行。...另外AVPlayer在使用时会占用AudioSession,这个会影响用到AudioSession的地方,如聊天窗口开启小视频功能。...AVAssetReader+AVAssetReaderTrackOutput 既然AVPlayer在播放视频时会有性能问题,我们不如做自己的播放器。...方案对比 对方案二、三做了滑动性能对比和耗电对比,测试条件分别是 滑动:在iPhone4的聊天窗口,有30个小视频,来回做4次列表滑动 耗电:在iPhone5s,屏幕亮度调到最大,禁止自动锁屏,开启飞行模式

    4.5K91

    使用Aliplayer在微信中播放视频的正确姿势

    微信播放最大坑 h5页面分享到微信上播放视频,最大的坑就是在Android手机上,X5浏览器会劫持Video标签用播放器弹出全屏播放,处于最上层,覆盖DOM元素,而且播放完毕时,会出现广告视频,比如:...设置视频的显示位置, 比如全屏直播视频要全屏显示,普通的播放视频在左上角显示,点击全屏按钮时,又要居中显示。...很多细节的东西需要处理, Aliplayer播放器在最新发布的版本中支持了X5浏览器的h5的同层播放,并且很多细节的东西帮助实现了,下面使用Aliplayer实现了两个例子: 点播视频H5Demo 全屏直播...上面两种情况的处理有点不一样的 视频居中的样式 退出全屏时恢复视频顶部播放 退出全屏的时候会出发事件,在事件里移除居中的样式 直播全屏播放 直播场景下会把视频充满整个屏幕,在上面显示评论、点赞、主播和观众信息等...视频显示模式和位置 如果"x_video_position"的两个值top和center不能满足要求,可以通过自定义object-fit和object-position属性,进行更灵活的设置视频的显示模式和位置

    11710

    WWDC 2022 音视频相关 Session 概览(EDR 相关)丨音视频工程示例

    12.9 英寸 iPad Pro 新增两个新特性:Reference 模式支持 EDR 渲染;Sidecar 支持 EDR 渲染(Sidecar 是苹果的一项技术,支持将 iPad 作为 Mac 的扩展屏...5 种 HDR/SDR 视频格式如下图(不在下表中的格式,会使用默认模式): Reference 模式支持的最常见 5 种 HDR/SDR 视频格式 2)回顾了 EDR 的技术方案 如下图所示,SDR...AVKit 框架,我们可以基于 AVKit 来创建支持视频播放的用户界面,完成传输控制、章节导航、画中画播放、字幕、隐藏式字幕显示等功能,AVKit 可以将 HDR 内容在 EDR 管线中播放。...对于不同的应用场景,我们可以选择不同的框架来实现: 简单的播放 HDR 视频,可以使用 AVKit 和 AVFoundation; 在指定的 layer 上播放 HDR 视频,可以使用 AVPlayerLayer...2)使用 AVKit 和 AVFoundation 如果需要简单的播放 HDR 视频媒体渲染到 EDR,可以使用 AVPlayerViewController 渲染 AVPlayer,也可以使用 AVPlayer

    2.6K21

    H5直播避坑指南

    = NO; 才能让这个属性生效从而让用户一进入页面就开始视频的自动播放 通过直接调用video.play()方法 在一些情况下我们想加入一些判断逻辑,如判断用户网络环境,在wifi下自动播放,在4g环境下给出提示...,这中情况下就适合直接选中video并调用video.play来播放视频 但是这种情况下也需要webview的支持,如在手Q下可以做到直接调用,在微信下因为不允许视频直接播放,则必须通过用户的真实操作来触发调用...页面内联播放问题 在iOS Safari和一些安卓的一些浏览器下播放视频的时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频的默认播放图标 在iOS下会有一个默认的播放图标,如图所示 ?...如果发现在x5内核下无法使用伪全屏而被浏览器接管,可以咨询下x5同事为你的域名开启白名单,不接管你域名下的视频播放 总结: 在经历过各种优化和调整后,我们可以在h5直播页做到看直播,看弹幕,发弹幕,发送礼物

    10.9K151

    H5直播避坑指南

    = NO; 才能让这个属性生效从而让用户一进入页面就开始视频的自动播放 通过直接调用video.play()方法 在一些情况下我们想加入一些判断逻辑,如判断用户网络环境,在wifi下自动播放,在4g环境下给出提示...,这中情况下就适合直接选中video并调用video.play来播放视频 但是这种情况下也需要webview的支持,如在手Q下可以做到直接调用,在微信下因为不允许视频直接播放,则必须通过用户的真实操作来触发调用...页面内联播放问题 在iOS Safari和一些安卓的一些浏览器下播放视频的时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline....jpg] 而一般用户进入页面基本都是竖屏,所以我们就要考虑怎么让用户在竖屏点击全屏按钮时,能体验到像终端app一样自动进入横屏全屏的体验,下面有两种方案 1.在用户点击全屏时候,通过css3属性旋转屏幕...如果发现在x5内核下无法使用伪全屏而被浏览器接管,可以咨询下x5同事为你的域名开启白名单,不接管你域名下的视频播放 总结: 在经历过各种优化和调整后,我们可以在h5直播页做到看直播,看弹幕,发弹幕,发送礼物

    5.5K130

    H5 直播避坑指南

    = NO; 才能让这个属性生效从而让用户一进入页面就开始视频的自动播放 通过直接调用video.play()方法 在一些情况下我们想加入一些判断逻辑,如判断用户网络环境,在wifi下自动播放,在4g环境下给出提示...,这中情况下就适合直接选中video并调用video.play来播放视频 但是这种情况下也需要webview的支持,如在手Q下可以做到直接调用,在微信下因为不允许视频直接播放,则必须通过用户的真实操作来触发调用...页面内联播放问题 在iOS Safari和一些安卓的一些浏览器下播放视频的时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频的默认播放图标 在iOS下会有一个默认的播放图标,如图所示 ?...如果发现在x5内核下无法使用伪全屏而被浏览器接管,可以咨询下x5同事为你的域名开启白名单,不接管你域名下的视频播放 总结: 在经历过各种优化和调整后,我们可以在h5直播页做到看直播,看弹幕,发弹幕,发送礼物

    2.9K90
    领券