【问题标题】:Update my AVURLAsset while the video is playing (swift)播放视频时更新我的​​ AVURLAsset (swift)
【发布时间】:2023-03-28 03:28:01
【问题描述】:

我正在播放一个加密的 m3u8 文件,我需要在一定时间后向播放器发送一个新的“mykey”更新值。

let headers = ["Authorization": "mykey"]
let avAsset = AVURLAsset(url: videoURL, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
let avItem = AVPlayerItem(asset: avAsset)
let avPlayer = AVPlayer(playerItem: avItem)

我以后如何从播放器访问 AVURLAsset 以更新我的值?

我在...下找不到任何东西

self.avPlayer.items()[0].asset...

【问题讨论】:

    标签: ios swift http-live-streaming


    【解决方案1】:

    只需调用AVPlayer的replaceCurrentItem(with:)函数,文档here

    let newAvItem = AVPlayerItem(asset: newAvAsset)
    avPlayer.replaceCurrentItem(with: newAvItem)
    

    【讨论】:

    • 如果我替换当前项目,直播将中断 1 秒以获取新项目,但不希望这样。您还有其他解决方案吗?
    • 我认为没有办法,玩家需要停止播放当前项目,查找新项目并开始加载和播放
    猜你喜欢
    • 2014-09-29
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2013-01-31
    • 2015-10-27
    • 2020-06-09
    相关资源
    最近更新 更多