Mat*_*dus 33 video playback mpmovieplayercontroller ios swift
我正在尝试使用Swift从服务器播放视频.
我已经导入了MediaPlayer框架,这是我的代码:
import UIKit
import MediaPlayer
class VideoViewController: UIViewController {
   override func viewDidLoad() {
        super.viewDidLoad()
        var url:NSURL = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")        
        var moviePlayer = MPMoviePlayerController(contentURL: url)
        moviePlayer.view.frame = CGRect(x: 20, y: 100, width: 200, height: 150)        
        self.view.addSubview(moviePlayer.view)
        moviePlayer.fullscreen = true        
        moviePlayer.controlStyle = MPMovieControlStyle.Embedded        
   }
}
当我在模拟器中运行时,我只得到一个黑盒子,但无论我在哪里尝试加载视频,都没有播放视频.
UPDATE
这是当前的代码
var url:NSURL = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")
var moviePlayer = MPMoviePlayerController(contentURL: url)
moviePlayer.view.frame = CGRect(x: 20, y: 100, width: 200, height: 150)        
moviePlayer.movieSourceType = MPMovieSourceType.File
self.view.addSubview(moviePlayer.view)        
moviePlayer.prepareToPlay()
moviePlayer.play()
这个代码有趣地播放~2秒的视频再次变黑!
Mat*_*dus 56
解决了:
import UIKit
import AVKit
import AVFoundation
class ViewController: UIViewController {
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        let url = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!
        playVideo(url: url)
    }
    func playVideo(url: URL) {
        let player = AVPlayer(url: url)
        let vc = AVPlayerViewController()
        vc.player = player
        self.present(vc, animated: true) { vc.player?.play() }
    }
}
小智 15
import AVKit
import AVFoundation
class VideoController: UIViewController
override func viewDidLoad()
    {
       let videoURL = NSURL(string: "VideoUr")
        let player = AVPlayer(url: videoURL! as URL)
        let playerViewController = AVPlayerViewController()
        playerViewController.player = player
        self.present(playerViewController, animated: true) {
            playerViewController.player!.play()
        }
    }
导入库:
import AVKit
import AVFoundation
import MediaPlayer
import AudioToolbox   
像这样设置delegaete
AVPlayerViewControllerDelegate
Wrtie漂亮的代码,你想像按钮动作一样玩:
let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
    let player = AVPlayer(url: videoURL!)
    let playervc = AVPlayerViewController()
    playervc.delegate = self
    playervc.player = player
    self.present(playervc, animated: true) {
        playervc.player!.play()
    }
100%工作和测试
| 归档时间: | 
 | 
| 查看次数: | 56611 次 | 
| 最近记录: |