为什么这段 Objective-C 代码无法播放 AVPlayerViewController 视频?

2023-12-02

enter image description hereBoth are in viewDidLoad(). What's wrong with this objective-c source file? The swift version works like a charm... Xcode ver. 8.2 iOS 10

斯威夫特(好的):

        let path : String = Bundle.main.path(forResource: "charlie", ofType: "mp4")!
        let movieurl : URL = URL(fileURLWithPath: path)
        let movie : AVPlayerViewController = AVPlayerViewController()
        movie.view.frame = self.view.bounds

        let player : AVPlayer = AVPlayer(url: movieurl)
        movie.player = player

        self.view.addSubview(movie.view)
        player.play()

Objective-C(不会显示/播放视频):

        AVPlayerViewController* movie;
        AVPlayer* player;

        NSString *path = [[NSBundle mainBundle]
            pathForResource:@"charlie" ofType:@"mp4"];

        NSURL *url = [NSURL URLWithString:path] ;

        movie = [[AVPlayerViewController alloc] init];
        movie.view.frame = self.view.bounds;
        player = [[AVPlayer alloc] initWithURL:url];

        [movie setPlayer:player];
        [self.view addSubview:movie.view];

        [player play];

@import AVKit;
@import AVFoundation;
@property (nonatomic) AVPlayer *avPlayer; 
@property (nonatomic) AVPlayerViewController* avPlayerView;


NSString *path = [[NSBundle mainBundle] pathForResource:@"Video1" ofType:@"mp4"];

NSURL *url = [[NSURL alloc] initFileURLWithPath: path];

AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];

avPlayer = [AVPlayer playerWithPlayerItem:anItem];
[avPlayer addObserver:self forKeyPath:@"status" options:0 context:nil];
self.avPlayerView = [[AVPlayerViewController alloc] init];
self.avPlayerView.view.frame = self.view.bounds; 
[self.avPlayerView setPlayer:_avPlayer]; 
[self.view addSubview:_avPlayerView.view]; 

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {

    if (object == avPlayer && [keyPath isEqualToString:@"status"]) {
        if (avPlayer.status == AVPlayerStatusFailed) {
            NSLog(@"AVPlayer Failed");
        } else if (avPlayer.status == AVPlayerStatusReadyToPlay) {
            NSLog(@"AVPlayer Ready to Play");
        } else if (avPlayer.status == AVPlayerItemStatusUnknown) {
            NSLog(@"AVPlayer Unknown");
        }
    }
}

-(IBAction) BtnPlay:(id)sender {
    [avPlayer play];
}

-(IBAction) BtnPause:(id)sender {
    [avPlayer pause];
}

试试我的代码。如果我的代码有任何问题请发表评论。 谢谢。 快乐编码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这段 Objective-C 代码无法播放 AVPlayerViewController 视频? 的相关文章

  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • iOS - 当 UIView 移动时将 UITextField 移动到不同的位置

    我有一个主 UIView 它通过开关向上移动 我有这个工作 那里没有问题 现在 UIView 当向下时 占据屏幕的大约一半 当它向上推时 它会显示底部 40px 在 UIView 中 当它处于向下状态时 它有一个 UITextField 并
  • 在 IOS 上使用 AVComposition 混合两个音频文件

    我正在尝试混合两个音频文件 将一个音频文件放在另一个音频文件之上 不是缝合在一起 但我在 IOS 上学习 AVFoundation 时遇到了困难 我在这里遵循了这个答案 如何使用 AVMutableCompositionTrack 合并音频
  • 如何在 iOS 中更改部分透明图像的颜色?

    我有一个具有部分透明度的单色图像 我有正常版本和 2X 版本的图像 我希望能够用代码将图像着色为不同的颜色 下面的代码适用于普通图像 但 2X 最终会出现伪影 正常图像可能有类似的问题如果是这样 由于分辨率的原因我无法检测到它 UIImag
  • 错误:更改核心数据模型后架构armv7的重复符号

    我有一个使用核心数据框架的应用程序 我工作得很好 我刚刚更改了数据模型 向一个实体添加一个属性 当我尝试构建它时 出现错误 duplicate symbol OBJC METACLASS AccountFolder in Users XXX
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • 我怎样才能勾勒出文本字体?

    我想在边框 轮廓 中显示另一种颜色的文本 我正在尝试使用在 MapOverlayView 中显示文本 text drawAtPoint CGPointMake 0 30 withFont UIFont fontWithName Helvet
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • iOS 循环对象的属性并添加操作

    我有一个具有几个类似属性的类 UISliders 我想添加用户开始和结束使用每个滑块时的操作 每个滑块都将链接到同一个选择器 因此我考虑只是迭代它们 而不是编写 10 个几乎相同的代码块 问题是 最有效的方法是什么 我尝试过这样的事情 在运
  • 在现有 iOS 应用程序中集成 React-native(0.40.0) 后找不到 Yoga/Yoga.h 头文件

    在我的 Swift iOS 应用程序中集成 React Native 后 我无法构建 yoga Yoga h file cannot be found 我已经浏览了文档 查看了react native github页面 检查了类似问题的SO
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • 避免 UIImage 的 imageNamed - 内存管理

    我正在经历这个链接 http akosma com 2009 01 28 10 iphone memory management tips 我遇到了一个点避免 UIImage 的 imageNamed 出于什么原因我们应该避免这种情况 它会
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 使用基于约束的布局自动调整 NSTokenField 的大小

    有没有办法自动调整大小height使用约束的 NSTokenField 保持宽度恒定 sizeToFit应该有效 但事实并非如此 如果我设置一个约束来保持宽度不变并调用此方法 它将忽略约束并仅调整宽度大小 当我想要的是仅调整高度大小时 基于
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • 分发内部业务 IOS 应用程序

    我遇到了 IOS 应用程序分发的一个令人困惑的部分 因此 我需要简单细分一下我的限制 即仅将我的应用程序分发给我的员工 同事或任何被视为 内部 的人 这是表明我不希望该应用程序出现在应用程序商店中的另一种方式 我的情况是我为几家公司开发 他
  • IPV6 快速可达性

    我是 swift 和 xcode 的新手 并且我的应用程序因 IPV6 而被拒绝 性能 2 1 当我们执行以下操作时 您的应用程序会在运行 iOS 9 3 5 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃 具体来说 当我们
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • TFS 2013 获取所有 TFS 组,包括 Windows 组

    我正在做这个TFS 2013 以获得所有TFS组的项目级别许可 但我无法获取 Windows 组 我使用以下代码列出组 var applicationGroups identityManagementService ListApplicat
  • jvisualvm:卡在“正在加载堆转储”屏幕上

    我使用以下命令使用 hprof 创建了一个堆转储文件 java agentlib hprof cp jars trove jar bin com mysite MyApp 这样就成功创建了大约 5MB 的文件 java hprof txt
  • 以声明方式描述自定义控件属性时缺少智能感知

    因此 我已经在这个项目上工作了几天 但一直无法解决为用户控件 ascx 请注意 的自定义内部属性获取智能感知支持的问题 我已经多次看到这个问题的解决方案 使用服务器控件 cs 请注意 在此写出article很好 使用 ascx 控件时 除了
  • 如何消除带括号的表达式中的子选择的歧义?

    我有以下表达式符号 expr OpenParen expr Comma expr Comma CloseParen parenExpr OpenParen simpleSelect CloseParen subSelectExpr 不幸的是
  • 无法使用 TestFlight 安装 xCode 4.3 beta 应用程序

    我刚刚升级到 xCode 4 3 并用它生成了一个 iPad 应用程序的新版本 大约 50 名 Beta 测试人员已经使用了几个月 我像往常一样通过 TestFlight 分发了测试版应用程序 大多数测试人员升级没有问题 但一些测试人员在尝
  • 如何附加和分离 Docker 的进程?

    I can attach to a docker process but Ctrl C doesn t work to detach from it exit basically halts the process 建议的工作流程是什么 让
  • WebSphere MQ 连接调整

    我有一个应用程序 它使用 MDB 激活规范和队列连接工厂从 WMQ 获取 放置消息 该应用程序预计最大负载为 80 tps Websphere Application Server 和 WMQ 都是集群式的 每个应用程序服务器都连接到单独的
  • TF 对象检测 API - 并非所有类都被检测到且行为异常

    Setup ubuntu 16 04 LTS 4 个 vCPU 30GB 内存 nvidia K80 GPU 带 12GB 内存 CUDNN 8 0 x64 TF版本1 3 目标 使用TF对象检测API检测人脸 人物 手枪 步枪 autom
  • 在没有背景附件的情况下将背景渐变扩展到整个身体:已修复

    我想要一个背景渐变 例如 background linear gradient to bottom rgba 0 0 0 0 3 rgba 2 126 174 0 9 在我的文档正文上 它延伸到正文的整个高度 并与正文一起滚动 Using
  • Dart 中 JSON 的序列化和反序列化状态

    我在 C 上的序列化方面有很好的经验 在搜索和测试了一些 Dart 库之后 我觉得总体上没有一个真正令人满意的答案 我想知道 Dart 中 JSON 序列化 反序列化的当前状态 未来我们应该期待什么 这最终会得到语言本身的支持吗 目前的最佳
  • 获取 mPDF 中文本的位置以确定 HTML 元素的垂直高度

    我正在使用 mPDF 类生成 PDF 想知道是否以及如何确定生成的 mPDF 文档中最后一行文本的位置 我需要一个 HTML 框来覆盖文本最后一行和文档下边距之间的任何剩余空间 通过将 html 元素设置为高度 100 它将元素推送到新页面
  • 操作已完成 = YES,但没有由其所在的队列启动

    Overview 有一个异步操作子类 将此操作添加到队列中 我在开始之前取消了此操作 运行时错误 警告 SomeOperation went isFinished YES without being started by the queue
  • 如何创建AVPlayer单例类

    我在用着AVPlayer要从网址播放歌曲 我在视图控制器中初始化并分配它 现在我遇到了问题 当我导航到另一个视图控制器并返回主播放器时 播放歌曲详细信息和滑块更新应该保留 但问题是当我导航时再次到主播放器播放详细信息和滑块更新没有发生 但歌
  • TWICImage,如何设置jpeg压缩质量?

    我使用 Delphi XE 和 TWICImage 类进行图像处理 我想知道是否有办法使用 TWICImage 设置 jpeg 压缩质量 procedure TfrmMain Button2Click Sender TObject var
  • 将 jQuery 与 Shadow dom 结合使用

    这里我用 Shadow dom 创建了元素 some preparing code this createShadowRoot creates shadow root this refers to element 稍后在代码中我将访问我创建
  • PHP 使用会话登录

    我是 PHP 的初学者 我尝试创建我的 php 登录代码 但遇到了一些问题 如果我访问其他页面 我的网站不会记住我登录过 会话不会保留
  • 多个读取器更快地读取文件

    所以我有一个大文件 大约有 200 万行 文件读取是我的代码中的瓶颈 欢迎任何建议的方法和专家意见来更快地阅读文件 从该文本文件中读取行的顺序并不重要 所有行都是管道 分隔的固定长度记录 我尝试了什么 我开始并行StreamReader并确
  • Internet Explorer 获取内部 IP 地址

    我正在寻找一种解决方案来获取人们在 IE 中的内部 IP 地址 不使用 java 或 java applet Java 中的等效项如下所示 this sock bind new java net InetSocketAddress 0 0
  • 获取 VBA Excel 2010 中所有字体的列表

    我正在使用 Excel VBA 我想获取组合框中所有字体的列表 任何人都可以帮助我吗 我尝试了这段代码 但在 listcount 中出现错误 Set FontList Application CommandBars Formatting F
  • 为什么这段 Objective-C 代码无法播放 AVPlayerViewController 视频?

    Both are in viewDidLoad What s wrong with this objective c source file The swift version works like a charm Xcode ver 8