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

在iOS 3.2(iPad)中正确显示和关闭全屏MPMoviePlayerController

在iOS 3.2(iPad)中正确显示和关闭全屏MPMoviePlayerController,您需要遵循以下步骤:

  1. 导入MediaPlayer框架:
代码语言:swift
复制
import MediaPlayer
  1. 创建一个全局的MPMoviePlayerController实例:
代码语言:swift
复制
var moviePlayer: MPMoviePlayerController?
  1. 初始化MPMoviePlayerController并设置视频URL:
代码语言:swift
复制
func playVideo(url: URL) {
    moviePlayer = MPMoviePlayerController(contentURL: url)
    moviePlayer?.prepareToPlay()
    moviePlayer?.view.frame = view.bounds
    moviePlayer?.scalingMode = .aspectFit
    moviePlayer?.controlStyle = .fullscreen
    moviePlayer?.shouldAutoplay = true
    moviePlayer?.setFullscreen(true, animated: true)
    view.addSubview(moviePlayer!.view)
}
  1. 在视图控制器中调用playVideo()方法,传入视频URL:
代码语言:swift
复制
playVideo(url: URL(string: "https://example.com/video.mp4")!)
  1. 为MPMoviePlayerController添加观察者,以便在视频播放完成时关闭全屏模式:
代码语言:swift
复制
NotificationCenter.default.addObserver(self, selector: #selector(videoPlaybackDidFinish), name: .MPMoviePlayerPlaybackDidFinish, object: nil)
  1. 实现视频播放完成的方法:
代码语言:swift
复制
@objc func videoPlaybackDidFinish(notification: Notification) {
    if let reason = notification.userInfo?[MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] as? Int {
        if reason == MPMovieFinishReason.playbackEnded.rawValue {
            moviePlayer?.setFullscreen(false, animated: true)
            moviePlayer?.stop()
            moviePlayer?.view.removeFromSuperview()
            moviePlayer = nil
        }
    }
}
  1. 在视图控制器的deinit方法中移除观察者:
代码语言:swift
复制
deinit {
    NotificationCenter.default.removeObserver(self, name: .MPMoviePlayerPlaybackDidFinish, object: nil)
}

这样,您就可以在iOS 3.2(iPad)中正确显示和关闭全屏MPMoviePlayerController了。请注意,MPMoviePlayerController已被弃用,建议使用AVPlayerViewController替代。

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

相关·内容

iOS视频播放的基本方法

而值得注意的是,上述的MPMoviePlayerController与MPMoviePlayerViewControlleriOS9.0之后被弃用。...iOS播放视频.png 温馨提示:代码更直观,首先附上本文Demo 一、MPMoviePlayerController 1.播放视频 MPMoviewPlayerController继承于NSObject...,它是一个包含了MPMoviePlayerController类型属性的特殊视图控制器,因此它是通过模态视图弹出的方式显示视频的。...理解了这个,我们就可以知道使用MPMovicePlayerViewController的时候我们可以通过它的MPMoviePlayerController属性设置很多播放器的属性了,具体用法MPMoviePlayerController...获取当前播放时间与总时间 在此之前我们需要首先了解一个数据类型,也就是上述操作的CMTime, AVPlayer的使用我们会经常用到它,其实CMTime是一个结构体如下: typedef

4.4K20

iOS视频功能模块的开发 原

iOS视频功能模块的开发 一、使用MPMoviePlayerController进行视频播放         MPMoviePlayerControlleriOS中进行视频播放开发的一个控制类,里面涵盖了视频播放中大部分的需求功能...,使用这个框架时,需要导入头文件。... * movie = [[MPMoviePlayerController alloc] initWithContentURL:url]; 初始化完成相关配置后,我们需要将MPMoviePlayerController...; 将要退出全屏时发送的通知 NSString * const MPMoviePlayerDidExitFullscreenNotification; 已经退出全屏时发送的通知 NSString * const...MPMoviePlayerViewController将视图封装在了一起,其中有一个成员对象是MPMoviePlayerController类型,类似C++的has-a逻辑,我们只需要对MPMoviePlayerViewController

1.1K70
  • iOS新的视频开发框架AVPlayerViewContoller与画中画技术

    框架MPMoviePlayerControllerMPMoviePlayerViewController类。...iOS8iOS开发框架引入了一个新的视频框架AVKit,其中提供了视频开发类AVPlayerViewController用于应用嵌入播放视频的控件。...iOS8,这两个框架的视频播放功能并无太大差异,基本都可以满足开发者的需求。...于此同时,iOS9MPMoviePlayerController与MPMoviePlayerViewController类也被完全易用,开发者使用AVPlayerViewController可以十分方便的实现视频播放的功能并在一些型号的...AVPlayerViewController还有如下属性方法提供给开发者使用: //是否显示视频播放控制控件 @property (nonatomic) BOOL showsPlaybackControls

    2.1K40

    iOS 7 Web App的初级优化之道

    最新的iOS8 系统还在测试,而iOS 7系统出来后据说现在覆盖率已经达到了90%,鉴于iOS 7 及iOS 6 广大果粉的覆盖率加起来已经具有代表性了,所以 apple-touch-icon...默认值为default(白色),其他可自定义black(黑色)black-translucent(灰色半透明)。实际,取何值与启动图片( Startup images )相协调。...iOS 7.1 新添加的 minimal-ui iOS 7 的 Safari 浏览网页,滚动之后,会触发隐藏 location bar tool bar,进去全屏幕浏览的状态。...而 iOS 7.1 之后,新增了 ‘minimal-ui’ 的 meta,可让网页所有者自行配置,让用户设备打开网页之后默认进入前面说到的全屏幕浏览状态,而且也只有点击 top bar 之后才能关闭。... 显示如下图(图片来自这里): image.png Jeff 测试ipad mini上没有效果,据说是苹果手机上才有效果

    72570

    iOS微信小视频优化心得

    image.png 小视频是微信6.0版本重大功能之一,开发过程遇到不少问题。本文先叙述小视频的产品需求,介绍了几个实现方案,分析每个方案的优缺点,最后总结出最优的解决方案。...MPMoviePlayerController MPMoviePlayerController是一个简单易用的视频播放控件,可以播放本地文件网络流媒体,支持mov、mp4、mpv、3gp等H.264...MPMoviePlayerController适合于全屏播放视频的场景。 2....单独使用AVPlayer是无法显示视频的,要把它添加到AVPlayerLayer里才行。...方案对比 对方案二、三做了滑动性能对比耗电对比,测试条件分别是 滑动:iPhone4的聊天窗口,有30个小视频,来回做4次列表滑动 耗电:iPhone5s,屏幕亮度调到最大,禁止自动锁屏,开启飞行模式

    4.4K91

    机试题:地图定位、拍照并显示、录制视频并播放

    这两天参加面试,有个公司先出了机试题,然后才能进入下一步,机试题大意是要求实现:地图定位、拍照并显示照片、录制视频并且播放视频三个小功能。 先上我的效果图: ?...1、地图定位关键代码(ios8后,开启地图定位需要在工程文件里面设置描述): //1、添加地图视图 CGRect rect = [UIScreen mainScreen].bounds;...strong, nonatomic) UIImagePickerController *picker; @property (assign, nonatomic) BOOL isChange; //是否切换拍照录制视频..._moviePlayer) { _moviePlayer = [MPMoviePlayerController new]; _moviePlayer.view.frame...self.movieUrl =[NSURL fileURLWithPath:urlStr]; [self.moviePlayer play]; } // 关闭照片选择器

    57040

    meta标签大全(荐)

    -- sns 社交标签 end --> 2、IOSSafari允许全屏浏览: ...: //一般情况下,IOSAndroid系统都会默认某长度内的数字为电话号码,即使不加也是会默认显示为电话的...5、IOSSafari设置保存到桌面图标: 这是IOSSafari特有的meta,是在你保存某个页面到桌面的时候使用这张图作为桌面图标,so,尺寸iphone上的一致,是57*57px <link..., FF,下特效都显示不出来,原文(HTML页面过渡效果大全)测试环境是IE5.5之上,不过我利用IE tester只IE8测试出效果了。...二、http-equiv属性   http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确精确地显示网页内容,与之对应的属性值为content,content

    76030

    iOS10-iOS15主要适配回顾

    ATTrackingManager请求权限不弹框 4、iOS15终于迎来了UIButton的这个改动 ios14适配 1、更改了cell布局视图,之前将视图加载cell上,将会出现contentView...3、IDFA必须要用户用户授权处理,否则获取不到IDFA 4、 UIPageControl的变化 具体参考iOS 14 UIPageControl对比、升级与适配 ios13适配 -1、 iOS 13...推出暗黑模式,UIKit 提供新的系统颜色 api 来适配不同颜色模式,xcassets 对素材适配也做了调整 2、支持第三方登录必须,就必须Sign In with Apple 3、MPMoviePlayerController...废弃 4、iOS 13 DeviceToken有变化 5、模态弹出默认不再是全屏。...之前设置na bartab bar外观的方法可能会无效 ios12适配 1、C++ 标准库libstdc++相关的3个库(libstdc++、libstdc++.6、libstdc++6.0.9 )废弃

    1.2K50

    最新iOS设计规范七|10大视觉规范(Visual Design)

    iOS应用,您可以配置界面元素布局,以iPad上执行多任务处理时,拆分视图中,屏幕旋转时以及在其他设备上自动更改形状大小。设计一个适应性强的界面在任何环境下都提供出色的体验非常重要。...设备屏幕尺寸方向 iOS设备具有各种屏幕尺寸,可以纵向或横向使用。iPhone XiPad Pro等边对边设备显示屏的圆角与设备的整体尺寸非常匹配。...但是,它可以基于当前方向显示菜单介绍序列。 考虑同时支持iPadiPhone。用户希望能在两种类型的iOS设备上都能使用您的应用程序。...当视频内容使用嵌入式信箱或邮筒模式填充以符合特定的纵横比时,iOS无法根据用户选择的观看模式正确地缩放视频。嵌入的视频会使其全屏模式适合屏幕模式下显示得更小。...使用原生纵横比还可以防止视频边到边、非全屏的环境中正确显示内容,比如iPad上的画中画模式。

    8.1K30

    最新iOS设计规范二|7大应用架构

    iOS是运行于iPhone、iPadiPod touch设备上、最常用的移动操作系统之一。作为互联网应用的开发者、产品经理、体验设计师,都应当理解并熟悉平台的设计规范。...为了在你的应用呈现自定义的模态内容,iOS 13更高版本支持以下两种表现风格: (一) 工作表(卡片弹窗) 工作表演示样式显示为一张卡片,并覆盖页面上。未被覆盖的区域变暗显示,无法进行交互。...(二) 全屏 全屏演示风格涵盖了整个屏幕。先前的视图已完全覆盖,从而最大程度地减少了视觉干扰。人们通过点击按钮来关闭全屏模式视图。...如果使用当前上下文模式视图样式拆分视图窗格,弹出窗口或其他非全屏视图中显示模式内容,则在紧凑环境显示模式内容时,应切换为使用工作表。 模态设计规范如下: 模态要在合适的时机使用。...极少数情况下,当用户Popover执行操作后需要用到模态视图时,请在显示模态视图之前先关闭Popover。 通常为模态任务设置一个标题。

    2.6K20

    Human Interface Guidelines —— Popovers

    自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS的组件(顺便学学英语),以便今后使用的时候完全不虚...例如,许多iPad的app点击Action按钮时会弹出共享选项。 使用时注意 ·避免iPhone上使用popover 一般来说,popover应该保留在iPad的app中使用。...iPhone的app,因为位置有限,一般全屏的模态视图中呈现信息,而不是popover。...·只能使用关闭按钮进行确认指导 “退出”与“完成”均为关闭按钮,如果能够清晰的进行指示(如离开时是否保存保存更改),那就使用关闭按钮。一般来说,popover不被需要时会自动关闭。...大多数情况下,当有人在popover之外区域点击或选择popover的项目后,popover应该关闭

    1.3K110

    安卓用户FaceTime,一个鼠标操作iPadMac!没有新硬件的WWDC,就不行吗

    通知可以显示联系人照片更大的应用程序图标,这在iOS 15以新的过滤模式存在,称为焦点(Focus)。 不要小看了焦点的作用,这可以使用户自定义不同活动显示的通知,并在所有设备上同步。...Apple Wallet将支持更广泛的项目,例如酒店房间钥匙TSA的相关识别信息。天气应用程序将通过新的全屏地图更广泛的动画背景显示更多信息。...WWDC之前,一些用户的愿望清单包括多用户支持、更高级的文件应用程序、对外部显示器的更好支持以及Final CutLogic等专业级应用程序进入iPad。...构建应用程序时,代码可以侧边栏实时预览,也可以全屏运行应用进行测试。 离iPadOS 15正式使用还有几周时间,或许测试阶段,还会有更多的改进惊喜。...macOS 12:加强iPad互动 iOSiPadOS之后,全新版的macOS也不容小觑。

    1.6K20

    iOS---iPad开发及iPad特有的特技

    iPad开发简单介绍 iPad开发最大的不同在于iPhone的就是屏幕控件的适配,以及横竖屏的旋转。 Storyboard得SizeClass的横竖屏配置,也不支持iPad开发。...1.控制器得到设备的旋转方向 iOS8及以后,屏幕就只有旋转后屏幕尺寸之分,不再是过期的旋转方向。...toInterfaceOrientation duration:(NSTimeInterval)duration { // 即将旋转 NSLog(@"%s", __func__); } iOS8...Modal弹出控制器的方式样式 Modal常见有4种呈现样式 控制器属性 modalPresentationStyle UIModalPresentationFullScreen :全屏显示(默认).../ios7过时/ 3>设置什么地方显示 调用方法 /** * 弹出UIPopoverController的方法(一) * * @param item 围绕着哪个UIBarButtonItem

    2.6K70
    领券