代码之家  ›  专栏  ›  技术社区  ›  Fattie

avassetreader,如何使用流而不是文件?

  •  1
  • Fattie  · 技术社区  · 6 年前

    avassetreader非常棒,但我只能看到如何将它与本地资产、文件或我猜的组合一起使用,

    所以,

    assetReader = try AVAssetReader(asset: self.asset)
    ...
    assetReader.addOutput(readerOutput)
    

    等等,

    假设你有一条到达的小溪

    (也许苹果的.m3u8文件示例,

    enter image description here

    https://developer.apple.com/streaming/examples/ )

    事实上,avassetreader可以用于流吗?还是只有本地文件?

    我只是很明显找不到任何解释。(如果你更熟悉的话,这很明显。/ /)

    1 回复  |  直到 6 年前
        1
  •  2
  •   Gordon Childs    6 年前

    这并不明显。修补两个文件的头文件注释 AVAssetReader AVComposition 虽然该语言没有明确排除非本地资产,但它给人留下了仅为本地资产设计的API的深刻印象。

    自动阅读器 头文件:

    avassetreader的实例从avasset实例读取媒体数据,无论资产是基于文件的还是表示来自多个源的媒体数据的组合,avcomposition的情况也是如此。

    构图 :

    avcomposition将来自多个基于本地文件的源的媒体数据以自定义的时间排列组合在一起,以便将来自多个源的媒体数据显示或处理在一起。所有本地基于文件的视听资产都可以合并,而不管容器类型如何。

    如果您只对视频感兴趣,并且不介意将其作为回放的一部分进行处理,则可以通过添加 AVPlayerItemVideoOutput 对你 AVPlayerItem .如果你对音效感兴趣,那你就是在小河上。