我目前正在尝试使用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的东西则不会立即开始播放.
谢谢.
当我尝试在Visual Studio 2008中构建我的项目时,网站将不再构建,它们挂在这个阶段:
------ Build started: Project: C:\...\Web\, Configuration: Debug Any CPU ------
Validating Web Site
Building directory '/Web/Admin/Secure/'.
Building directory '/Web/Admin/'.
Building directory '/Web/Students/'.
Building directory '/Web/'.
Validation Complete
Run Code Online (Sandbox Code Playgroud)
我必须取消它,因为即使离开它一小时后它也没有完成.有没有人对正在发生的事情有任何想法?类库构建良好.
使用.NET 3.5进行开发时,我自然会使用LINQ进行数据访问.
但对于.NET 2.0项目,哪种数据访问模型最适合使用?我倾向于主要使用TableAdapters,但有时也会根据情况编写自己的SQL.