2015-12-23 30 views
5

enter image description hereSwift AVPlayer Will not MP4: Play Przycisk z linią Through It

Próbuję graczowi wideo mp4 z lokalnego systemu plików na aplikacji iOS. Wideo trwa około godziny i można je odtworzyć w czasie rzeczywistym. Mogę odtwarzać mp4, jeśli pochodzi z internetu (NSURL (ciąg: "http: domain.com/vid.mp4")). Odtwarzam wideo, jak poniżej:

let steamingURL:NSURL = NSURL(string: video.filePath)! //valid path 
    let player = AVPlayer(URL: steamingURL) 
    player.allowsExternalPlayback = false 

    PlayWorkoutViewController.playerController = AVPlayerViewController() 
    PlayWorkoutViewController.playerController.player = player 
    self.addChildViewController(PlayWorkoutViewController.playerController) 
    self.view.addSubview(PlayWorkoutViewController.playerController.view) 
    PlayWorkoutViewController.playerController.view.frame = videoContainerView.frame 
    PlayWorkoutViewController.playerController.showsPlaybackControls = false 
    player.play() 

Czy muszę zmienić niektóre ustawienia, aby odtworzyć dłuższy film? Dzięki.

+0

spróbuj użyć NSURL.init (fileURLWithPath: <#T##String#>) zamiast tego – jessex

Odpowiedz

7

Sprawdź steamingURL jest zerowa lub nie pierwszy

Jeśli chcesz użyć bibliotece NSURL (string: "XXX") initialiser proszę sprawdzić ciąg rozpoczyna się od file: //, użyj inaczej bibliotece NSURL (fileURLWithPath: "xxxx") zamiast.

+0

Dobrze, spróbuję, gdy tylko go skompiluję. Dzięki, założę się, że to jest problem. –

+0

Mój problem był wręcz przeciwny. Próbowałem załadować wideo z sieci i uzyskać taki sam wynik, ponieważ używałem NSURL (fileURLWithPath: "http: // ...") zamiast NSURL (ciąg: "http: // ..."). –

+0

Witam @jessex, oszczędzasz cały dzień !!! Thx !!! – Jerome