我們的應用程序允許用戶錄製視頻,之後應用程序添加字幕並導出編輯後的視頻。如何讓AVPlayer立即出現而不是在視頻結束後出現?
目標是立即重放視頻,但AVPlayer僅在視頻結束後纔會出現(並且只播放音頻,這是一個單獨的問題)。
下面是現在發生的事情:我們顯示預覽,以便用戶可以實時查看他正在錄製的內容。用戶完成錄製後,我們要播放視頻以供查看。不幸的是,沒有視頻出現,只有音頻播放。當音頻完成回放時,會顯示代表某幀視頻的圖像。
這是怎麼發生的?
func exportDidFinish(exporter: AVAssetExportSession) {
println("Finished exporting video")
// Save video to photo album
let assetLibrary = ALAssetsLibrary()
assetLibrary.writeVideoAtPathToSavedPhotosAlbum(exporter.outputURL, completionBlock: {(url: NSURL!, error: NSError!) in
println("Saved video to album \(exporter.outputURL)")
self.playPreview(exporter.outputURL)
if (error != nil) {
println("Error saving video")
}
})
}
func playPreview(videoUrl: NSURL) {
let asset = AVAsset.assetWithURL(videoUrl) as? AVAsset
let playerItem = AVPlayerItem(asset: asset)
player = AVPlayer(playerItem: playerItem)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = view.frame
view.layer.addSublayer(playerLayer)
player.play()
}
我不清楚你在期待什麼。請重新說明。您是否試圖在錄製視頻時顯示相機正在錄製的內容?當您說「AVPlayer僅在視頻結束後纔出現」時,您的意思是AVPlayer僅在錄製完成後纔出現? –
@JörnEyrich對此感到抱歉。以下是現在發生的事情:我們顯示預覽,以便用戶可以實時查看他正在錄製的內容。用戶完成錄製後,我們要播放視頻。不幸的是,沒有視頻出現,只有音頻播放。當音頻完成回放時,會顯示代表某幀視頻的圖像。 – Crashalot
也許您生成的視頻已損壞?當您將它保存到相冊中時,它看起來如何?或者,如果您在playPreview()中播放其他視頻而不是剛剛錄製的視頻,是否顯示正確? –