关于AVPlayer的详细解析,请看Apple document。但是document里面并没有详细解析如何获取HTTP live stream文件的duration,google了一下,发现通过duration属性获取的方法,不能得到正确的直。正确的做法应该是通过调用AVPlayerItem的seekableTimeRanges来获取(loadedTimeRagnes表示已经下载的部分)。

事例代码如下:

    [self.player addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(2, 1) queue:nil usingBlock:^(CMTime time){ AVPlayerItem* currentItem = self.player.currentItem;NSArray* loadedRanges = currentItem.seekableTimeRanges;if (loadedRanges.count > 0){CMTimeRange range = [[loadedRanges objectAtIndex:0] CMTimeRangeValue];Float64 duration = CMTimeGetSeconds(range.start) + CMTimeGetSeconds(range.duration);NSLog(@"duration:%g", duration);CMTime currentTime = self.player.currentItem.currentTime;self.slider.value = CMTimeGetSeconds(currentTime) / duration;}}];

使用AVPlayer获取HTTP live stream audio文件的duration相关推荐

  1. java resource file_Java 获取Resource目录下的文件解决办法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java 获取Resource目录下的 文件 有两种方式: Java代码中的类,要获取Resource资源 文件目录 下文件 绝对路径寻址 注意这个 / ...

  2. java resouce_Java 获取Resource目录下的文件解决办法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java 获取Resource目录下的 文件 有两种方式: Java代码中的类,要获取Resource资源 文件目录 下文件 绝对路径寻址 注意这个 / ...

  3. Java程序获取和修改.wav音频文件的内部结构

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/79498075冷血之心的博客) wav音频文件是一种无损的音频文件, ...

  4. Android 获取内部存储中音乐文件的正确姿势

    最近想写一个音乐的小APP出来(doge),借此熟悉音频开发的相关技术.但是在获取内部存储的音乐文件时踩了一些坑...所以有了这篇帖子,简单介绍下Android的存储类别,以及如何获取内部存储中的音乐 ...

  5. android 扫描所有图片格式,Android获取本机各种类型文件列表(音乐、视频、图片、文档等)...

    介绍 本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址. 提示 获取音乐.视频.图片.文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文 ...

  6. shell访问php文件夹,Shell获取某目录下所有文件夹的名称

    Shell获取某目录下所有文件夹的名称以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Shell获取某目录下所有文件夹的 ...

  7. 获取 Andriod keystore签名证书文件,用于打包APP应用

    每个安卓APP,都要签名证书才能安装在手机上,测试的应用有测试的签名证书,生产环境有生产环境的签名证书,在开发APP之前,我们首先生成一个用于该APP的签名证书,用于测试调试应用,像微信支付.分享.地 ...

  8. 浅谈Java反射机制 之 获取类的字节码文件 Class.forName(全路径名) 、getClass()、class...

    先贴上Java反射机制的概念: AVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性: 这种动态获取的信息以及动态调用对 ...

  9. 【每日随笔】电子签名 ( 下载 “e 签保“ 应用 | 使用 手机号 + 短信验证码 登录 | 发起签署 | 签名 | 获取签名后的 PDF 文件及出证信息 )

    文章目录 一.下载 "e 签保" 应用 二.使用 手机号 + 短信验证码 登录 三.发起签署 四.签名 五.获取签名后的 PDF 文件及出证信息 一.下载 "e 签保&q ...

最新文章

  1. Anaconda 和 JetBrains 联手推出 'Anaconda的PyCharm'
  2. 2019CCPC网络选拔赛签到题题解
  3. 从ucOS谈,为什么需要操作系统?
  4. 题目 1004: [递归]母牛的故事
  5. android log system
  6. 【最新合集】IDEA 快捷键整理
  7. python怎么设置颜色深浅变化_Python赋值、深浅copy
  8. 网站开发的小知识参考(慢慢收集备用)
  9. 测试或运维工作过程中最常用的几个linux命令?
  10. MySQL中实现连续日期内数据统计,缺省天数0补全
  11. 刚被通用收编的这家创业公司,号称能把LiDAR成本降低近100%
  12. 普通办公用计算机,工业计算机与普通办公用的电脑有什么区别?
  13. ActiveMQ第二弹:使用Spring JMS与ActiveMQ通讯
  14. 听说你在学Python?来点PEP吧
  15. 关于equals和==的几个注意点
  16. WPF的网易云音乐页面
  17. 苹果youtube无法连接网络_当手机无信号或者无法连接网络时的正确解决步骤
  18. 八数码(有一个空的移动拼图模型+map.count的用法)
  19. Android Studio修改安卓模拟器的安装位置和SDK的位置
  20. 20220312纪中集训总结

热门文章

  1. 数据库连接池 ( 四 ) Druid 连接池
  2. 成功解决“谷歌浏览器打开是毒霸网址大全”问题
  3. HEC-RAS数值模拟与GIS水文分析技术的洪水危险性及风险评估
  4. 参与诺基亚N78“连城决” 探索全球最神秘的地区
  5. Java基础详细版本和入门代码
  6. python怎么在turtle写字_使用turtle在Python中绘制输入
  7. 2022山东省安全员C证考试题库及答案
  8. mac Dw cc2017 下载
  9. AttributeError: 'module' object has no attribute 'StereoBM_create'的解决办法
  10. Java 编程高手(附盘) 译作者: 博彦科技