La nostra app consente agli utenti di registrare un video, dopo di che l'app aggiunge i sottotitoli ed esporta il video modificato.Come rendere AVPlayer visualizzato istantaneamente anziché dopo il termine del video?
L'obiettivo è riprodurre il video immediatamente, ma l'AVPlayer viene visualizzato solo al termine del video (e riproduce solo l'audio, che è un problema separato).
Ecco cosa succede ora: mostriamo un'anteprima in modo che l'utente possa vedere ciò che sta registrando in tempo reale. Dopo che l'utente ha terminato la registrazione, vogliamo riprodurre il video per la revisione. Sfortunatamente, non viene visualizzato alcun video e viene riprodotto solo l'audio. Un'immagine che rappresenta qualche fotogramma del video appare quando l'audio viene riprodotto.
Perché sta succedendo?
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()
}
Non mi è chiaro cosa ti aspetti. Per favore riformulare Stai cercando di mostrare cosa sta registrando la videocamera mentre viene registrato il video? Quando dici "l'AVPlayer viene visualizzato solo al termine del video", intendi che l'AVPlayer viene visualizzato solo al termine della registrazione? –
@ JörnEyrich scusa per la confusione. Ecco cosa succede ora: mostriamo un'anteprima in modo che l'utente possa vedere ciò che sta registrando in tempo reale. Dopo che l'utente ha terminato la registrazione, vogliamo riprodurre il video. Sfortunatamente, non viene visualizzato alcun video e viene riprodotto solo l'audio. Un'immagine che rappresenta qualche fotogramma del video appare quando l'audio viene riprodotto. – Crashalot
Forse il video che hai generato è rotto? Come appare quando lo riproduci dall'album in cui l'hai salvato? In alternativa, se riproduci qualche altro video in playPreview() anziché quello appena registrato, viene visualizzato correttamente? –