在iOS中使用AVPlayer可以了解当前的.ts文件或编码器的当前时间戳吗?

在iOS中使用AVPlayer可以了解当前的.ts文件或编码器的当前时间戳吗?,第1张

概述由于我们无法从AVPlayer中获取隐藏字幕数据或字幕数据,因此我们正在研究其他触发方法,例如时间码或至少知道当前处于活动状态的.ts文件.我在文档中找不到任何内容,播放器中的CMTime没有给我嵌入m3u8文件的时间码. NSLog(@"%f", CMTimeGetSeconds([mPlayer currentTime] ) ); 不是我想要的. #EXTM3U#EXT-X-TARGETDU 由于我们无法从AVPlayer中获取隐藏字幕数据或字幕数据,因此我们正在研究其他触发方法,例如时间码或至少知道当前处于活动状态的.ts文件.我在文档中找不到任何内容,播放器中的CMTime没有给我嵌入m3u8文件的时间码.

NSLog(@"%f",CMTimeGetSeconds([mPlayer currentTime] ) );

不是我想要的.

#EXTM3U#EXT-X-TARGETDURATION:10#EXT-X-MEDIA-SEQUENCE:562#EXT-X-PROGRAM-DATE-TIME:2020-10-23T14:18:59+08:00#EXTINF:10,http://aedsgios1-i.akamaihd.net/hls/live/204775/test1-p/mobile600/Seg_102320_124459_1/mobile600_102320_124459_562.ts#EXT-X-PROGRAM-DATE-TIME:2020-10-23T14:19:09+08:00#EXTINF:10,

我想知道的是EXT-X-PROGRAM-DATE-TIME,或者至少是活动的.ts文件的名称.

谢谢!

解决方法 你只需要:

>使用您实现的类子类NSURLProtocol(请参阅Apple上的NSURLProtocol类参考以了解它是如何工作的).您有一个NSURLProtocol附带的方法,您可以在其中查看截获的请求

(BOol)canInitWithRequest:(NSURLRequest *)请求.

只需在其中记录您的请求并返回NO,因为您只想记录它而不是通过启动startLoading方法来处理它,这是NSURLProtocol API的另一种方法.

>完成此 *** 作后,您必须通过添加以下指令将NSURLProtocol注册到您的AppDelegate.m / .swift(无论……)中的dIDFinishLaunching方法:NSURLProtocol.registerClass(MySubclassprotocol)
>启动播放器,通常会看到所有请求都登录到调试控制台.

希望能帮助到你

总结

以上是内存溢出为你收集整理的在iOS中使用AVPlayer可以了解当前的.ts文件或编码器当前时间戳吗?全部内容,希望文章能够帮你解决在iOS中使用AVPlayer可以了解当前的.ts文件或编码器的当前时间戳吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/999359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存