从下载网址播放视频

时间:2018-09-18 11:54:01

标签: swift xcode

我有一个URL:-“ http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_JtVCHi1” 当我在浏览器上运行此URL时,我的VDO开始下载。

请帮助在一个视图中播放此视频(视图名称为:-vdoView)

为此,我正在尝试以下代码:-

import UIKit
import AVKit
import AVFoundation

class VideoViewController: UIViewController {

    @IBOutlet weak var vdoView: UIView!

    override func viewDidLoad() {

        super.viewDidLoad()

        getVideo()
    }

    func getVideo(){

        let videoURL = URL(string: "http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_JtVCHi1")

        let player = AVPlayer(url: videoURL!)
        let playerLayer = AVPlayerLayer(player: player)
        playerLayer.frame = self.vdoView.bounds
        self.vdoView.layer.addSublayer(playerLayer)
        player.play()

    }

enter image description here

4 个答案:

答案 0 :(得分:1)

您应该这样尝试

func getVideo(){

    let videoURL = URL(string: "http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_JtVCHi1")
    // Create an AVAsset
    let videoAsset = AVAsset(url: videoURL!)
    // Create an AVPlayerItem with asset
    let videoPlayerItem = AVPlayerItem(asset: videoAsset)
    // Initialize player with the AVPlayerItem instance.
    let player = AVPlayer(playerItem: videoPlayerItem)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.frame = self.vdoView.bounds
    self.vdoView.layer.addSublayer(playerLayer)
    player.play()
}

并且您应该更新plist文件以允许来自http:Refer here

的内容

答案 1 :(得分:1)

将代码更改为此:

import AVFoundation
var player: AVPlayer?

func playAudio() {
    guard let url = URL.init(string: "http://192.168.100.184:9050/uploads/sound/file/1/a1b19343-f785-4d48-b7d5-1abe26c03ff3.mp3" ) else { return }
    player = AVPlayer.init(url: url)
}

最后在IBAction主体中调用func

答案 2 :(得分:0)

foreach($jsonObjs as $i=>$obj) {  
  $row_id = $i;    


  foreach($obj as $key => $value){
    // see if $value has a type property that is set to pointer
    if (isset($value['type']) && $value['type'] == "__pointer") {
      // $value is the pointer object.  Do with it what you will
      echo "<td>" . $value['objID'] . "</td>";
    }

    // more code
  }
}

答案 3 :(得分:0)

  

希望这对您有帮助

首先,您必须 import AVKit, import AVFoundation

使用AVPlayer

  if let url = URL(string: "http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_JtVCHi1"){

            let player = AVPlayer(url: url)
            let controller=AVPlayerViewController()
            controller.player=player
            controller.view.frame = self.view.frame
            self.view.addSubview(controller.view)
            self.addChildViewController(controller)
            player.play()
        }

最好将此代码放入方法中:覆盖func viewDidAppear(_ animation:Bool)或之后的某个地方。

相关问题