iOS 7 AVPlayer AVPlayerItem 持续时间在 iOS 7 中不正确

2024-07-04

我的应用程序中有以下代码:

NSURL *url = [NSURL fileURLWithPath: [self.DocDir stringByAppendingPathComponent: self.FileName] isDirectory: NO];
self.avPlayer = [AVPlayer playerWithURL: url];

Float64 duration = CMTimeGetSeconds(self.avPlayer.currentItem.duration);

这在 iOS 6 上运行良好,但在 iOS 7 上由于某种原因它返回 NaN。当检查 self.avPlayer.currentItem.duration 时,CMTime 对象有 0,标志为 17。

有趣的是,播放器工作正常,只是持续时间错误。

还有其他人遇到过同样的问题吗?我正在导入以下内容:

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>
#import <CoreMedia/CoreMedia.h>
#import <AVFoundation/AVAsset.h>

在尝试了不同的初始化对象的方法之后,我得出了一个可行的解决方案:

AVURLAsset *asset = [AVURLAsset assetWithURL: url];
Float64 duration = CMTimeGetSeconds(asset.duration);
AVPlayerItem *item = [AVPlayerItem playerItemWithAsset: asset]; 
self.avPlayer = [[AVPlayer alloc] initWithPlayerItem: item];

看起来持续时间值并不总是可以立即从 AVPlayerItem 获得,但它似乎可以立即与 AVAsset 一起正常工作。

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

iOS 7 AVPlayer AVPlayerItem 持续时间在 iOS 7 中不正确 的相关文章

  • 使用RestKit执行同步请求

    BOOL do a Restkit request and return a boolean manager postObject nil path mypath parameters password password success R
  • 如何在 XCode 6 iOS 模拟器中运行/录制 iOS 应用程序?

    我可能会犯这个错误 但我正在尝试在 Xcode 6 iOS 模拟器中运行 iOS 应用程序 以便录制该应用程序的视频教程 我已经安装了 xCode 并且可以启动 iOS 模拟器 但似乎无法安装 app 文件 Library Develope
  • NSNumberFormatter numberFromString 十进制数

    我正在尝试解析NSString with a NSNumberFormatter喜欢跟随 NSNumberFormatter myFormatter NSNumberFormatter alloc init NSNumber myNumbe
  • 相当于 iphone / iOS 的 [[NSWorkspace sharedWorkspace] runningApplications]?

    我已经研究苹果文档有一段时间了 但还没有找到与sharedWorkspace可以从中得到的对象NSWorkspace在应用程序套件中 基本上 我只是想要runningApplications方法从中 有人能指出我正确的方向吗 没有这样的方法
  • Xcode 7 UIWebView 不加载 url

    我在我的应用程序中使用 UIWebView 它在 Xcode4 5 6 模拟器中运行良好 但不适用于 Xcode 7 模拟器 我不知道为什么 模拟器中没有警告或错误 屏幕只显示空白页 请帮我 谢谢 import IndexViewContr
  • 在 Parse iOS 中链接用户 ID 和安装 ID

    在 Parse 仪表板的数据浏览器窗格中 我看到安装和用户类 但是 对于特定设备上的特定用户 objectId 不匹配 现在 用户订阅的频道仅在安装类中可见 有没有什么方法可以将用户 ID 来自用户类别 链接到安装 ID 以便可以知道用户订
  • 准备 iPhone 的调试器支持

    我无法在 iPhone 上安装该应用程序 我被这条消息困住了 准备 iPhone 的调试器支持 在这里尝试了所有答案 https stackoverflow com questions 46316373 xcode9 iphone is b
  • UIWebView 中自动填充用户名和密码

    我正在为我做一个非常简单的应用程序 当我启动这个应用程序时 它只会将我带到这个网页https social tre it expert https social tre it expert 我想自动登录 那么有没有办法自动填写用户名和密码
  • React-Native 服务器驱动的 ui

    我总是想知道 Airbnb Flipkart 和 Swiggy 等应用程序如何动态更新其 UI 即使我没有更新应用程序 Flipkart 在节日期间也会显示不同的 UI 而 Swiggy 总是根据设备位置更改其 UI 我如何在我的react
  • 嵌入了 iOS 项目的 OSX 项目 - 找不到 UIKit.h [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个 OSX 项目和一个 iOS 子项目 子项目使用 UIKit h 但即使子项目已将 UIKit 框架添加到 链接二进制文件与库 部
  • 在 UIPageViewController 中,当“pageViewController:viewControllerBeforeViewController”被调用时?

    我尝试在中显示照片UIPageViewController 首先 我在集合视图中显示我的照片 然后点击一张照片进入页面视图 然而 当我在页面视图中时 如果我滚动当前照片 向右或向左 我发现两者pageViewController viewC
  • Spotify 会话管理

    我在我的应用程序中有一个 Spotify 登录并尝试进行自动登录 登录功能 func getSpotifyToken fromController controller UIViewController success spotifyTok
  • 上传时防止空闲状态(iOS 上的 Web 应用程序)

    我正在构建一个将在移动和桌面上使用的网络应用程序 在 iOS 上进行测试后 我注意到我的手机将进入空闲状态 屏幕关闭 返回时显示锁定屏幕 即使有是一个正在上传的文件 ajax上传 有什么办法可以防止这种情况发生吗 我正在通过将应用程序作为
  • 表格视图单元格作为按钮

    我正在尝试将已分组的表视图单元格设置为按钮 但我似乎无法在 XCode 4 2 的界面生成器中或以编程方式找到执行此操作的位置 我尝试将表视图单元格链接到 IBAction 但它只允许我创建或链接到 IBOutlet 作为临时修复 我在单元
  • PHAsset(或 ALAsset)跨设备标识符

    我实际上正在创建一个 iOS 应用程序 并且想要在 SQLite 数据库中存储有关照片库图片的一些详细信息 我还希望能够在用户拥有的不同设备上共享这些数据 想象一下有人想要在他的 iPhone 上重新组织图片 并想要在他的 iPad 上检索
  • 提交到 AppStore:发现意外的 Mach-O 标头代码:0x72613c21

    我构建了一个 iOS 应用程序 我想将其提交给 Apple 以便让我的同事测试它 我首先清理了工作区 我使用的是 CocoaPods 然后将其存档 然后我进入 档案 窗口并单击 上传到 App Store 出现以下错误 发现意外的 Mach
  • 不要在 iOS 上显示蜂窝数据警告

    如果用户决定不允许应用程序在每次尝试打开应用程序时访问蜂窝数据 则会显示一条警告 告诉他们蜂窝数据已关闭 SDK中有没有办法停止显示此消息或控制其显示的时间 位置 如果您在权限被撤销的情况下尝试访问互联网 系统将显示此消息 为了防止它出现
  • 使用 Appium 和 Ruby 测试 iOS 应用程序时等待元素加载?

    我正在测试一个iOS应用程序 登录后无法与元素交互 因为Appium运行得太快了 有人可以给我指出一个使用 WebDriverWait 风格等待 Appium iOS 测试的示例吗 最好用红宝石 Thanks 这对我有用 但我是 Appiu
  • UIScrollView 在 addSubview 或更改框架后出现不必要的滚动

    我有一个UIScrollView充满子视图 创建它并最初填充它时一切都很好 但是 当我添加位于可见屏幕部分之外的新子视图时 或者当我只是调整也在可见屏幕部分之外的现有子视图的大小时 会出现随后的 0 3 秒长的滚动动画 我可以看到它 发生在
  • iOS 7.1 CommonCrypto 库抱怨:隐式转换丢失整数精度:'NSUInteger'(无符号长整型)到 CC_LONG(无符号整型)

    我在从文件执行 MD5 时收到上述错误 标题中 我通常可以处理这些类型的 32 gt 64 位转换问题 但在这种情况下 我不知道我应该做什么 因为 CC MD5 是其中的一部分的CommonCrypto gt CommonDigest iO

随机推荐

  • 创建自定义 Google Now 卡片

    Google 为 Google Now 提供了各种 卡片 http www google com landing now http www google com landing now 可以创建自己的卡片吗 该系统看起来非常模块化 但我还没
  • 导航回 ViewController 时出现重复消息问题

    我有一个 ViewController 它向用户显示更多信息 然后他们单击一个按钮 它将它们发送到我的 messageView 它是一个 JSQ ViewController JSQViewController 使用集合视图类 当用户导航回
  • appcompat 在操作栏中显示进度导致 NPE

    将我的 SDK 更新到所有最新的 Android 5 0 后 我无法使用 appcompat 中 ActionBar 中内置的进度条 我已经完成了所有通常的修复 将 supportRequestWindowFeature 调用移至 setC
  • 是否可以将代码分析警告的格式设置为正常警告的格式?

    I like the code analysis included in VS2012 But it s a bit annoying that the warnings are only processable in the Code A
  • Qt:如何处理用户按下“X”(关闭)按钮的事件?

    在 Qt 中 与用户单击窗口框架的 X 关闭 按钮 即此按钮 事件相对应的插槽是什么 如果没有这个插槽 在用户按下关闭按钮后是否有其他方法来触发功能 如果你有一个QMainWindow你可以覆盖closeEvent method inclu
  • 我是否需要显式关闭并处置 SQLConnection?

    SqlDataReader rdr null con new SqlConnection objUtilityDAL ConnectionString using SqlCommand cmd con CreateCommand try i
  • MySQL 连接器错误“服务器时区值中欧时间”[重复]

    这个问题在这里已经有答案了 我的问题 MySQL 连接器 服务器时区值中欧时间 无法识别或代表多个时区 该项目 小型网络项目 JavaEE Tomcat 8 5 MySQL Maven 我的尝试 Maven gt 将 MySQL 连接器从
  • 无法在角度2中实现PUT请求,出现错误“不允许空值”

    我已经在我的应用程序中实现了 GET 请求 并且能够在账户组件 当我单击中的特定行时DataGrid 我得到一个POPUP我可以在其中访问 row data 的窗口 并使用下拉菜单可以更新 DataGrid 但是 当我为下拉列表选择所需的值
  • 通过PID获取进程句柄

    我想通过进程名称获取进程的句柄 我有 PID 但当我使用openProcess要始终获取句柄 它将返回 0 或 180 这是我用来使 PID 正常工作的函数 Handle OpenProcess PROCESS QUERY INFORMAT
  • 以编程方式使 iPhone 振动 [重复]

    这个问题在这里已经有答案了 可能的重复 让 iPhone 振动 https stackoverflow com questions 4724980 making the iphone vibrate 如何以编程方式使 iPhone 振动 任
  • Xamarin Form - 如何更改 ResourceDictionary 中的 TabbedPage 标题字体大小

    我创建了一个TabbedPage有四个ContentPages as the TabbedPage Children with Title The TitleiOS应用程序中呈现的内容非常完美并且能够阅读 然而 在 Android 中似乎T
  • R中逻辑回归的分类表

    我有一个由二分因变量组成的数据集 Y 和 12 个自变量 X1 to X12 存储在 csv 文件中 这是数据的前 5 行 Y X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 0 9 3 86 111 126
  • 如何在cmd / powershell中运行Nuget Package Manager Host

    我目前正在使用更新包Visual Studio 2017 Nuget 包管理器控制台中的命令 我需要从命令提示符使用它 eg nuget Update Package Newtonsoft Json Visual Studio 的包管理器控
  • DynamoDB 中的 UUID 数据类型

    根据规范 UUID 为 128 位或 16 字节 十六进制表示形式为 36 个字符 包括连字符 我正在 DynamoDB 上构建一个新表 并且必须决定计划用 UUID 填充的哈希键的类型 我应该使用这些 UUID 的字符串或二进制哈希键创建
  • 以全屏模式启动 Microsoft Edge

    我正在修理几台用作数字标牌的计算机 因此 我需要一个脚本来在启动时全屏启动 Microsoft Edge 我在设置中设置为默认网站 但我不知道如何全屏启动应用程序 有什么想法吗 通过更改发布的脚本https superuser com qu
  • 检测 gzip 编码以手动解压缩响应,但缺少“Content-Encoding”标头

    我在用net http在 Go 中创建一个库HTTP GET要求 在响应中 我收到 12 个标头 但是当我通过邮递员运行完全相同的查询时 我得到 16 个标头 其中缺少的一项是 内容编码 我明白这一定是一个CORS https develo
  • 在 EF core 中启用迁移吗?

    我正在开始使用 EF Core 2 0 我有一个针对 NET 4 6 1 的控制台应用程序 我有一个非常简单的模型类 以及这个上下文 public class ContextCore DbContext protected override
  • WEBP图像回退

    我在互联网上搜索了很多 找不到可以完整教授的正确示例或完整教程 所以请大家给我推荐一些好的例子 我已经在很多网站上尝试过 WEBP 代码 例如与现代化工具一起使用 检查浏览器支持或使用背景图像 有一篇关于 Stucox 的文章 您可以在其中
  • Phantomjs 可以工作,但速度很慢

    我正在尝试使用 PhantomJS 截取网页的屏幕截图 具体来说 我正在使用捕获的示例espn com from this http skookum com blog dynamic screenshots on the server wi
  • iOS 7 AVPlayer AVPlayerItem 持续时间在 iOS 7 中不正确

    我的应用程序中有以下代码 NSURL url NSURL fileURLWithPath self DocDir stringByAppendingPathComponent self FileName isDirectory NO sel