0

私は自分のMP4ビデオをGoogleクラウドストレージに保存していて、MPMoviePlayerControllerを使用してiOSデバイスで再生しようとしていますが、再生していません。しかし、同じファイルをDropboxに公開しても、それはうまくいきます。IOSがGoogleクラウドストレージからURLを再生しない

let videoURLWithPath = "https://storage.googleapis.com/pioctave/577265bce6058511008a39dd/57bc34d5683eb51100173a46-video/pioctave.mp4" 
    print(videoURLWithPath) 
    let videoURL = NSURL(string: videoURLWithPath) 


    moviePlayer = MPMoviePlayerController(contentURL: videoURL) 
    moviePlayer.view.frame = CGRectMake(0.0, 0.0, self.view.frame.size.width, self.header_video_img!.frame.size.height) 

    self.view.addSubview(moviePlayer.view) 
    moviePlayer.fullscreen = false 
    moviePlayer.shouldAutoplay = true 

    moviePlayer.controlStyle = MPMovieControlStyle.Fullscreen 
    moviePlayer.scalingMode = MPMovieScalingMode.AspectFill 

    moviePlayer.play() 

私はアンドロイドのGCSから同じファイルを使用しましたが、うまくいきました。以下は、動画のサンプルURLです。

https://storage.googleapis.com/pioctave/577265bce6058511008a39dd/57bc34d5683eb51100173a46-video/pioctave.mp4

任意のヘッダーの問題があり、またはデバイス側のいくつかの問題があります。助けてください。

答えて

0

MPMoviePlayerControllerは推奨されていません。 MPMoviePlayerControllerの代わりにAVPlayerViewControllerを使用します。ここで

はコードです:

let videoURL = NSURL(string: "https://storage.googleapis.com/pioctave/577265bce6058511008a39dd/57bc34d5683eb51100173a46-video/pioctave.mp4") 
let player = AVPlayer(url: videoURL! as URL) 
let playerViewController = AVPlayerViewController() 
playerViewController.player = player 
self.present(playerViewController, animated: true) { 
    playerViewController.player!.play() 
} 
+0

これは最初の5秒のビデオを開始し、その前の進行したことがない、あなたはそれを助けてくださいことができますか? – paparoch

+0

オブザーバーをプレーヤーアイテムに追加: playerItem.addObserver(self、forKeyPath: "playbackLikelyToKeepUp"、options:.New、context: public function func observeValueForKeyPath(keyPath:String ?, ofObjectオブジェクト:AnyObject ?,変更:[なし]): playerItem.addObserver(self、forKeyPath: "playbackBufferFull"、オプション:.New、コンテキスト:nil) –

+0

次に、ストリング:ANYOBJECT]?コンテキスト:UnsafeMutablePointer ){ オブジェクトがAVPlayerItemある場合{ スイッチキーパス{ 場合 "playbackBufferEmpty": // player.play() 場合 "playbackLikelyToKeepUp": //隠すローダ // player.pause() 場合 "playbackBufferFull": //隠すローダ // player.pause() }}} –

関連する問題