wei*_*ran 10 video ios swift tvos
我目前正在尝试使用AVPlayer具有独立视频和音频源的视频,因此我将它们组合成一个AVPlayerItem如下:
let videoAsset = AVURLAsset(url: videoURL)
let audioAsset = AVURLAsset(url: audioURL)
let duration = videoAsset.duration
let composition = AVMutableComposition()
let videoTrack = composition.addMutableTrack(withMediaType: AVMediaType.video, preferredTrackID: kCMPersistentTrackID_Invalid)
try? videoTrack?.insertTimeRange(CMTimeRange(start: kCMTimeZero, duration: duration), of: videoAsset.tracks(withMediaType: .video)[0], at: kCMTimeZero)
let audioTrack = composition.addMutableTrack(withMediaType: .audio, preferredTrackID: kCMPersistentTrackID_Invalid)
try? audioTrack?.insertTimeRange(CMTimeRange(start: kCMTimeZero, duration: duration), of: audioAsset.tracks(withMediaType: .audio)[0], at: kCMTimeZero)
let playerItem = AVPlayerItem(asset: composition)
Run Code Online (Sandbox Code Playgroud)
然而,问题是该代码在完成之前通过网络获取视频和音频的整个源.调用'videoAsset.duration'或videoTrack.insertTimeRange触发此网络请求.
有没有办法一起AVPlayer播放这些单独的视频和音频URL(MP4视频和AAC音频)而无需先下载整个文件?
我注意到在我的Mac上,Quicktime Player也会在开始播放之前获取源文件.但是,使用类似VLC或IINA的东西则不会立即开始播放.
谢谢.
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |