2016-09-09 10 views
0

iOSアプリケーションで作業しています。このアプリケーションはNEWSメディアに基づいています。AVPlayerViewController iOSでの再生/一時停止の問題

私はハイライトされたニュースの小さなビデオを再生しています。私はAVPlayerViewControllerの見知らぬ問題に直面しています。

私はビデオを再生するときはすべて問題ありません。私がオフラインになると、バッファービデオは再生バッファービデオの後に完全な&を再生し、ビデオは停止しますが、ビデオが停止している間はビデオは停止しますが、progress bar(Slider)は再生状態になります。より多くのクリアランスのための

このGIF画像を見てください。

Please visit this link for batter understanding.

これはプレーヤーのための私のコードです。

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     self.playVideo() 
    } 

    func playVideo(){ 
     let videoURL = NSURL(string: "http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8") 
     let player = AVPlayer(URL: videoURL!) 
     let playerController = AVPlayerViewController() 
     playerController.player = player 
     self.addChildViewController(playerController) 
     self.view.addSubview(playerController.view) 
     playerController.view.frame = self.view.frame 
     player.play() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 
+0

はあなたのコードを表示します。 – pkc456

+0

現在の再生時間を自分自身で処理していますか?タイマーを確認してください。停止していない可能性があります。コードを共有することもできます。 –

+0

AVPlayerViewControllerを使用しています。 –

答えて

0

あなたのコードを試しましたが、あなたのgifの画像も見えませんでした。 他のビデオリンク(https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4)でコードを試しましたが、問題は再現されませんでした。

あなたの問題はあなたのAVPlayerViewControllerを表示しようとする方法にあると思います。これは動作するはず

let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") 
let player = AVPlayer(URL: videoURL!) 
let playerViewController = AVPlayerViewController() 
playerViewController.player = player 
self.presentViewController(playerViewController, animated: true) { 
    playerViewController.player!.play() 
} 

は、次のスニペットを考えてみましょう。カスタマイズが必要な場合は、AVPlayerViewControllerを使用しないでください。

UPDATE:Reachailityサポートの追加

試してみてください。

class MyViewController: UIViewController { 
    var reachability: Reachability? 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    reachability = try? Reachability.reachabilityForInternetConnection() 
    reachability?.whenUnreachable = { _ in 
     player.pause() 
    } 
    try? reachability?.startNotifier() 
+0

私の要件としては機能していません。ネットワークから切断すると、ビデオは停止しますが、プログレスバーは連続再生状態になります。 –

+0

これは、 'AVPlayerViewController'の働きです。プレーヤーを停止する必要がある場合は、あなたのコードを[Reachability](https://github.com/ashleymills/Reachability.swift/blob/master/Reachability/Reachability.swift)と組み合わせることができます。ネットワークの変更を購読し、あなたの 'player'の状態を管理します。 – rkyr

+0

私はこれを試しましたが、成功しませんでした。 –

関連する問題