Como você reproduz um vídeo com o AV Kit Player View Controller no Swift?
override func viewDidLoad() {
super.viewDidLoad()
let videoURLWithPath = "http://****/5.m3u8"
let videoURL = NSURL(string: videoURLWithPath)
playerViewController = AVPlayerViewController()
dispatch_async(dispatch_get_main_queue()) {
self.playerViewController?.player = AVPlayer.playerWithURL(videoURL) as AVPlayer
}
}
AVPlayer
(não possui os controles), consulte esta resposta .Respostas:
Swift 3.x - 5.x
Necessário: importar AVKit , importar AVFoundation
A estrutura do AVFoundation é necessária mesmo se você usar o AVPlayer
Se você deseja usar o AVPlayerViewController :
ou apenas AVPlayer :
É melhor colocar esse código no método: substituir func viewDidAppear (_ animated: Bool) ou em algum lugar depois.
Objetivo-C
AVPlayerViewController :
ou apenas AVPlayer :
fonte
Tente isso, definitivamente funciona para
Swift 2.0
fonte
self.addChildViewController(playerController)
agora éself.addChild(playerController)
fyiTente isto
fonte
Swift 3.0 Código fonte completo:
fonte
Objetivo c
Isso só funciona em
Xcode 7
Vá para o
.h
arquivo e importeAVKit/AVKit.h
eAVFoundation/AVFoundation.h
. Em seguida, vá em.m
arquivo e adicione este código:fonte
Usando MPMoviePlayerController:
Usando o AVPlayer:
Eu tenho um botão play para lidar com o toque no botão.
Adicionei um observador ouvindo AVPlayerItemDidPlayToEndTimeNotification.
Quando a reprodução de vídeo / áudio terminar, redefina a imagem do botão e a notificação
fonte
um bug (?!) no iOS10 / Swift3 / Xcode 8?
não funciona (ret vazio ...)
isso funciona:
Mesmo URL ...
fonte
player.play()
depois:self.view.layer.addSublayer(playerLayer)
e tente novamenteSwift 3:
fonte
AVPlayerViewController
?Isso funcionou para mim no Swift 5
Adicionados botões de ação para reproduzir vídeos do site e do local com o seguinte exemplo de código rápido
fonte
Swift 5
// aqui o curso inclui um arquivo de modelo, dentro dele forneci o URL, por isso estou chamando a função de model usando a função course.
// também IntroductionVideoUrl é uma URL que eu declarei dentro do modelo.
Como alternativa, você também pode usar o código abaixo em vez de chamar a função do modelo
com
fonte
fonte
Swift 5.0
Aprimorado da resposta @ingconti. Isso funcionou para mim.
fonte
Swift 5+
Primeiro, você precisa definir duas variáveis globalmente dentro do seu controlador de exibição.
Aqui estou adicionando o player à visualização desejada.
Em seguida, adicione o seguinte código ao método viewDidLoad .
Se você não estiver definindo player e playerViewController globalmente, não poderá incorporar o player.
fonte