视频是横屏视频怎么变成竖屏屏了但是视频里面的画面内容还是横屏的怎么办呐,求讲解

后使用快捷导航没有帐号?
其他登录方式
—— 新手入门 ——
—— 智友精华 ——
查看: 3030|回复: 4
在线时间59 小时最后登录阅读权限20UID6178161注册时间积分118精华0
, 积分 118, 距离下一级还需 82 积分
主题帖子 金币244 元 智豆0 点
把重力感应打开也不行囧,知道的告诉下谢谢啦
在线时间1135 小时最后登录阅读权限40UID2801650注册时间积分1939精华0
, 积分 1939, 距离下一级还需 1061 积分
主题帖子 金币1761 元 智豆0 点
照片底下的编辑,转一下就好了。
在线时间59 小时最后登录阅读权限20UID6178161注册时间积分118精华0
, 积分 118, 距离下一级还需 82 积分
主题帖子 金币244 元 智豆0 点
mkiderek 发表于
照片底下的编辑,转一下就好了。
视频怎么办
在线时间17190 小时最后登录阅读权限65UID1400628注册时间积分20169精华0
, 积分 20169, 距离下一级还需 9831 积分
主题帖子 金币8833 元 智豆1 点
视频也可以设置的,多研究研究啦
在线时间59 小时最后登录阅读权限20UID6178161注册时间积分118精华0
, 积分 118, 距离下一级还需 82 积分
主题帖子 金币244 元 智豆0 点
真没找着求解决
本周智豆兑换已开放兑换,先到先得。
扫码下载APP
关注智友微博5677人阅读
iOS开发(3)
在App Store上的大部分视频播放App中,都实现了竖屏小屏播放以显示更多相关信息,横屏切换到全屏播放,这样的交互显得优雅而大方。最近项目里有个这样的需求,为全屏视频播放加上竖屏模式。下面,让我们一起来实现这个需求。
iOS中的方向
iOS设备中有两种方向,一种是设备方向,一种是屏幕视图方向。我们可以直接调用
[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPartrait];
强制更改设备方向,但该方法已经在iOS6中废止。另外一种更改设备方向的方法是通过重力感应触发。
那么视图方向是又什么决定的呢?
全局Info.plistiOS6+在UIApplicationDelegate中增加了&- (NSUInteger)supportedInterfaceOrientationsForWindow:(UIWindow *)回调UIViewController。并且只在UIWindow的rootViewController或model状态下的UIViewController有效
最终的视图方向取决于&(全局控制 ∩ UIWindow 中的回调 ∩ 单个界面控制) 的交集,如果交集为空,iOS6下抛出 UIApplicationInvalidInterfaceOrientationException 异常后崩溃。
UIController中对视图方向变化的响应
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
return ((toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) |
(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft));
}iOS6+:
// 支持转屏?
(BOOL)shouldAutorotate
return YES;
// 支持的屏幕方向
- (NSUInteger)supportedInterfaceOrientations
return UIInterfaceOrientationMaskL
实现前后的效果
两张横竖屏的图片中,菜单、标题大小都发生了改变。下面我们就来讨论下实现的方法。
首先在视频播放所在UIViewController支持横竖屏,并在设备旋转的回调中,通知菜单当前的设备方向发生了改变,代码如下://设备旋转前
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
//横竖屏变更菜单等
if (toInterfaceOrientation == UIInterfaceOrientationPortrait) {
//竖屏状态
//设备旋转前
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
//对视图进行旋转处理,这里通过present一个新的UIViewController,暂不需要处理
//设备旋转完
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
//设备旋转完的处理
// 支持转屏
(BOOL)shouldAutorotate
return YES;
// 支持的屏幕方向
- (NSUInteger)supportedInterfaceOrientations
return UIDeviceOrientationLandscapeLeft | UIInterfaceOrientationP
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
return ((toInterfaceOrientation == UIInterfaceOrientationPortrait) ||
(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft));
}willRotateToInterfaceOrientation:duration: 和 willAnimateRotationToInterfaceOrientation:duration:的区别在于调用的顺序。前者在旋转前调用,并且屏幕方向、设备原点、视图大小等都未改变,后者在旋转的动画block中调用,并且屏幕方向、设备原点、视图大小等都已改变。因此在willRotateToInterfaceOrientation:duration:中,应当做变量的更改;在willAnimateRotationToInterfaceOrientation:duration:中,适合做一些重绘工作。考虑到原来的视频播放器只支持横屏播放,这里采用的方案如下:竖屏状态下,先present一个只支持横屏的UIViewController,再将视频播放器作为横屏UIViewController的子控制器添加进来。这样可以触发iOS进行横竖屏检测。当竖屏切到横屏时,旋转的动画设置。代码如下:[portraitViewController presentViewController:landscapeViewController animated:NO completion:^{
//mvPlayer原先是作为protraitViewController的子UIViewController
[mvPlayer.view removeFromSuperview];
[mvPlayer removeFromParentViewController];
//改为作为landscapeViewController的子UIViewController
[landscapeViewController addChildViewController:mvPlayer];
[landscapeViewController.view addSubview:mvPlayer.view];
//改变状态栏方向
[[UIApplication sharedApplication] setStatusBarHidden:YES];
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:NO];
CGAffineTransform transform = CGAffineTransformMakeRotation(-M_PI_2);
transform = CGAffineTransformScale(transform, scale, scale);
mvPlayer.view.transform =
//旋转动画
[UIView animateWithDuration:[[UIApplication sharedApplication] statusBarOrientationAnimationDuration] animations:^{
mvPlayer.view.transform = CGAffineTransformI
mvPlayer.view.frame = landscapeViewController.view.
}completion:^(BOOL finished) {
[[UIApplication sharedApplication] setStatusBarHidden:NO];
横屏切换到竖屏的动画实现如下://更改mvPlayer的父UIController
[mvPlayer.view removeFromSuperview];
UIViewController *viewController = strongSelf.player.presentingViewC
[mvPlayer removeFromParentViewController];
[viewController dismissModalViewControllerAnimated:NO];
[portraitViewController addChildViewController:mvPlayer];
[portraitViewController.view addSubview:mvPlayer.view];
//缩放动画
CGAffineTransform transform = CGAffineTransformMakeScale(scale, scale);
mvPlayer.view.transform =
mvPlayer.view.frame = CGRectMake(0, 0, CGRectGetWidth(mvPlayer.view.frame), CGRectGetHeight(mvPlayer.view.frame));
mvPlayer.view.transform = CGAffineTransformRotate(transform, M_PI_2);
[UIView animateWithDuration:[[UIApplication sharedApplication] statusBarOrientationAnimationDuration]
animations:^{
mvPlayer.view.transform = CGAffineTransformMakeScale(scale, scale);
completion:^(BOOL finished) {
mvPlayer.view.frame = CGRectMake(0, 0, CGRectGetWidth(mvPlayer.view.frame), CGRectGetHeight(mvPlayer.view.frame));
以上是手动旋转过程。还有一种方法是直接旋转portraitViewController.view。人为旋转过程中,设备的原点并未发生改变,这需要考虑横竖屏布局问题。
本文介绍横竖屏切换的一些基础知识,并实践了类似腾讯视频的横竖屏人为切换方式,达到不同状态下显示不同视图的交互方式。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场经验925 米
在线时间2 小时
版本V8.2.1.0.NAACNEB
积分 950, 距离下一级还需 1050 积分
积分 950, 距离下一级还需 1050 积分
机型小米手机5
签到次数79
MIUI版本V8.2.1.0.NAACNEB
跪求一款可以把16:9横屏裁剪成9:16竖屏播放的视频软件,就是从横屏上减下一部分。跪求大师们啦。
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验11759 米
在线时间42 小时
版本7.6.19
机型小米Max 高配版
签到次数16
MIUI版本7.6.19
经验1548 米
在线时间8 小时
版本7.6.15
积分 1807, 距离下一级还需 193 积分
积分 1807, 距离下一级还需 193 积分
机型小米手机5SPlus
MIUI版本7.6.15
。。。。。
经验3894 米
在线时间235 小时
机型红米手机4 高配版
签到次数60
MIUI版本7.5.4
有这么智能的软件?我只知道能把横屏转成竖屏,意思是能在竖屏状态下也像横屏一样全屏播放,图像是不会变的
经验1519 米
在线时间308 小时
版本7.5.11
积分 2076, 距离下一级还需 2924 积分
积分 2076, 距离下一级还需 2924 积分
机型小米平板1
签到次数87
MIUI版本7.5.11
播放器旋转画面播放就行了嘛
在线时间1 小时
积分 24, 距离下一级还需 26 积分
积分 24, 距离下一级还需 26 积分
有这么智能的软件?我只知道能把横屏转成竖屏,意思是能在竖屏状态下也像横屏一样全屏播放,图像是不会变的 ...
您好,请问怎么弄呀哈哈,现在正遇到这个问题?求解多谢!
经验3894 米
在线时间235 小时
机型红米手机4 高配版
签到次数60
MIUI版本7.5.4
您好,请问怎么弄呀哈哈,现在正遇到这个问题?求解多谢!
我用的fast video,你试试?
在线时间1 小时
积分 24, 距离下一级还需 26 积分
积分 24, 距离下一级还需 26 积分
我用的fast video,你试试?
好的谢谢呀,我试试看1
小米7周年勋章
2017米粉节晒单赢专属勋章
“澎湃S1 ”芯片纪念勋章
参与活动回帖可得
参与红米Note 4X活动
1000万用户纪念勋章
MIUI1000万用户纪念勋章
小米手机元器件合体活动勋章
小米求合体勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号播放rmvb的,mp4的倒是可以。fps是啥我倒是落伍了,不知道。分辨率为360X640效果还不错吧,水果忍者是啥我也不知道。就是这样了。你这样的要求可以买iphone最好了。不行的话也是moto的里程碑2htc的里程碑2比较合适你。当然这3个价位都比X6高了不少。再不然魅族M9你也可以考虑一下,也算比较符合你的要求了。 估计你要放弃了水果忍者你找一下有没有吧,现在好像是移植了不少iphone的游戏,就是不知道有没有水果忍者,rmvb优酷确实不行。那个flash lite我就不知道了,完全没听过。帧数具体多少我不知道但是看起电源来效果感觉还是很不错的。当然了,片源差是没办法的。 额,楼下说了可以直接优酷看,我也不知道是不是,mp4是可以直接看flash插件不太清楚,好像没有必要装吧。
附近的朋友等待您的帮助
包打听移动版【04-20 吧友求助】请问看视频突然变成竖屏模式是什么情况_小米3吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
【04-20 吧友求助】请问看视频突然变成竖屏模式是什么情况收藏
如题 刚刚看视频突然由横屏变成竖屏了 没有开自动旋屏 也没有倒转屏幕 最终变不回去了 求教的说 --夏娜,我有一个请求……--是什么?--夏娜这个名字,你能一直用下去吗?--嗯。
新人无人权 留名自顶 --夏娜,我有一个请求……--是什么?--夏娜这个名字,你能一直用下去吗?--嗯。
登录百度帐号推荐应用

我要回帖

更多关于 横屏视频怎么变成竖屏 的文章

 

随机推荐