gpt4 book ai didi

ios - 在 iOS 中使用 AVPlayer 你能知道当前的 .ts 文件或来自编码器的当前时间戳吗?

转载 作者:可可西里 更新时间:2023-11-01 06:11:13 27 4
gpt4 key购买 nike

由于我们无法从 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 文件的名称。

谢谢!

最佳答案

你只需要:

  1. 使用您实现的类对 NSURLProtocol 进行子类化(请参阅 Apple 上的 NSURLProtocol 类引用以了解其工作原理)。您有一个 NSURLProtocol 附带的方法,您可以在其中看到拦截的请求

(BOOL)canInitWithRequest:(NSURLRequest *)请求。

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

  1. 完成此操作后,您必须通过添加此指令将 NSURLProtocol 注册到 didFinishLaunching 方法到您的 AppDelegate.m/.swift(无论...)中:NSURLProtocol.registerClass(MySubclassProtocol)

  2. 启动您的播放器,您通常应该会看到所有请求都记录到您的调试控制台中。

希望对你有帮助

关于ios - 在 iOS 中使用 AVPlayer 你能知道当前的 .ts 文件或来自编码器的当前时间戳吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com