webView中播放视频时自动旋转

在实际生活应用中,我们希望用户在点击视频时一打开的时候就自动全屏播放,达到更加绚丽的视觉体验效果;

****** Appdelegate.h ** 类中*****

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property(nonatomic,assign)BOOL isFull;///<是否允许自动旋转

@end

》》》Appdelegate .m 文件

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

{

if (!_isFull) {

return UIInterfaceOrientationMaskPortrait;

}else{

return UIInterfaceOrientationMaskAllButUpsideDown;

}

}

#import "ViewController.h"

#import "AppDelegate.h"

@interface ViewController ()<UIWebViewDelegate>{

AppDelegate *app;

}

@end

@implementation ViewController

- (void)dealloc{

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIWindowDidBecomeHiddenNotification object:nil];

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIWindowDidBecomeVisibleNotification object:nil];

}

-(void)playerWillExitFullscreen:(id)sender{

NSLog(@"退出播放视频了");

app.isFull=NO;

/**

下边方法的使用场景:

如果点击视频,自动旋转为横屏播放状态,点击完成按钮,需要是程序变为竖屏状态,需要下边的代码

*/

UIViewController *vc = [[UIViewController alloc]init];

[self presentViewController:vc animated:NO completion:nil];

[vc dismissViewControllerAnimated:NO completion:nil];

}

-(void)playerWillShowFullScreen:(id)sender{

NSLog(@"播放视频了");

app.isFull=YES;

}

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

self.title=@"webView";

CGRect rect=self.view.frame;

//    rect.size.height-=64;

UIWebView *webView=[[UIWebView alloc] initWithFrame:rect];

webView.delegate=self;

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.tudou.com/albumplay/O8GDpd7v8RA/qTfiUJAEdm0.html"]]];

[self.view addSubview:webView];

app=(AppDelegate *)[UIApplication sharedApplication].delegate;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (void)webViewDidFinishLoad:(UIWebView *)webView{

//通知写在这里是因为网页加载完成但是没有播放视频,也会调用playerWillExitFullscreen方法

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIWindowDidBecomeHiddenNotification object:nil];

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIWindowDidBecomeVisibleNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerWillExitFullscreen:) name:UIWindowDidBecomeHiddenNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerWillShowFullScreen:) name:UIWindowDidBecomeVisibleNotification object:nil];

}

@end

时间: 2024-10-10 06:11:15

webView中播放视频时自动旋转的相关文章

WebView中的视频全屏的相关操作

最近工作中,基本一直在用WebView,今天就把它整理下: WebView 顾名思义,就是放一个网页,一个看起来十分简单,但是用起来不是那么简单的控件. 首先你肯定要定义,初始化一个webview,其实网上的例子很多,我这里就简单的把一些WebView 中可能会用到的的很重要的属性以及支持全屏播放视频该怎么实现的代码粘出来,直接放到项目中去就行了 <span style="white-space:pre"></span><pre name="co

在Winform中播放视频等【DotNet,C#】

在项目中遇到过这样的问题,就是如何在Winform中播放视频.当时考察了几种方式,第一种是直接使用Windows Media Player组件,这种最简单:第二种是利用DirectX直接在窗体或者控件上绘图,这种比较复杂.于是采用的是第一种方法. 先从VS的工具箱里添加Windows Media Player组件,方式是打开工具箱,在最下面的空白处点击右键,选择项,然后在弹出的对话框里切换到Com组件标签项,找到“Windows Media Player”项并选中,确定后将在工具箱中看到多出一个

Html5之高级-4 HTML5视频处理(H5中播放视频、编程实现视频播放器)

一.在 HTML5 中播放视频 在 HTML5 中播放视频 - HTML5 中提到最多的是视频处理,视频也是互联网中的重要应用.在HTML5中,增加了一个元素,以便在HTML文档中插入和播放视频,这个元素就是video元素 - video元素提供了播放.暂停和音量控件来控制视频,也提供了width和height属性控制视频的尺寸.如设置的高度和宽度等. - 使用video元素至少要提供两种视频格式的文件: OGG和MP4 - OGG: 包含Theora 视频和 Vorbis 音频解码器 - MP

DragVideo,一种在播放视频时,可以任意拖拽的方案

转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53638896 前言 项目已开源到我的github: https://github.com/hejunlin2013/DragVideo DragVideo A Method to Drag the Video When Playing Video 一种在播放视频时,能够拖拽的方案 为什么有这个工程 经常在爱奇艺网站上看电影,看到如

【iOS开发】解决“点击MPMoviePlayerController播放视频时,出现一个黑屏闪屏问题”

当点击某按钮播放视频时,如果在按钮触发函数时alloc MPMoviePlayerController对象,同时加载资源文件,因为加载资源文件也需要时间,这时会有一个短暂的黑色闪屏,这点体验很不好,有一个好的解决方案是,提前alloc预加载好该MoviePlayer对象,点击按钮时直接调用play. 预加载相关代码: //预加载视频,避免出现黑屏 NSString *videoPath=[[NSBundle mainBundle]pathForResource:@"startVideo"

JavaScript实现在文本框中输入空格时自动填写某个值

<script language="javascript" type="text/javascript"> var txtText4 = "#" + '<%= new DynamicControl(this, "Text4").ClientID%>'; $(function () { $(txtText4).keyup(function (e) { if (e.which == 32) $(this).

iOS7的程序加了多个UIWindow,调用MPMoviePlayerViewController播放视频时,除了key window其他window的坐标会被改变,怎么办

开发程序时,因为需求需要在status bar上显示东西并可以点击,还要有点击的东西的window level高于status bar,所以使用了多个uiwindow,结果在key window里播放视频时,其他window的坐标被改变了,导致显示不正常.这时只要自定义其他window继承UIWindow,在Window类里增加这个方法,是从UIView继承的,然后判断只要触发需要接收点击的区域就return yes,其他return no就ok了,同时要把你的window frame设为全屏,

Android 使用PLDroidPlayer播放网络视频 根据视频角度自动旋转

最近因为项目需求 ,需要播放网络视频 ,于是乎 研究了一番 ,说说我遇到的那些坑 现在市面上有几个比较主流好用的第三方框架 Vitamio ( 体积比较大,有商业化风险 github:https://github.com/yixia/VitamioBundle/) ijkplayer(B站下开源的框架 体积大 配置环境比较麻烦 github:https://github.com/Bilibili/ijkplayer ) PLDroidPlayer(七牛根据ijkplayer二次开发的 定制简单

unity 中播放视频

Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTexture Unity标准接口,支持的播放视频格式有.mov..mpg..mpeg..mp4..avi和.asf.仅支持PC端的本地视频播放. 1. 在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上 在新建的一个plane平面,将其纹理绑定为电影纹理即可 //设置当前对象的主纹理为电影纹理 renderer.material.mainTexture = mo