当前位置: > > > Swift - 使用Media Player播放本地视频,在线视频

Swift - 使用Media Player播放本地视频,在线视频

(注意:MPMoviePlayerController从iOS9起会被废除,建议使用AVPlayerViewController来代替。使用方法见:Swift - 使用AVKit播放本地视频,在线视频(AVPlayerViewController)

Media Player框架用于播放本地视频、音频,也可以在线播放视频和音频。

1,播放器MPMovieControlStyle样式有如下几种:
(1)None: 没有播放控制控件
(2)Embedded:嵌入式播放控件。没有Done按钮
(3)FullScreen:全屏播放,有播放进度、Done按钮和快进等控件
  

2,播放本地视频
import UIKit
import MediaPlayer

class ViewController: UIViewController {
    
    var moviePlayer:MPMoviePlayerController?

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //定义一个视频文件路径
        let filePath = NSBundle.mainBundle().pathForResource("sample130", ofType: "mp4")
        //定义一个视频播放器,通过本地文件路径初始化
        moviePlayer = MPMoviePlayerController(contentURL: NSURL(fileURLWithPath: filePath!))      
        //设置播放器样式 - 全屏
        moviePlayer!.controlStyle = MPMovieControlStyle.Fullscreen
        //设置大小和位置
        moviePlayer?.view.frame = self.view.frame
        //添加到界面上
        self.view.addSubview(moviePlayer!.view)
        
        //开始播放
        moviePlayer?.play()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

3,播放在线视频
moviePlayer = MPMoviePlayerController(contentURL: NSURL(string: "http://hangge.com/demo.mp4"))
评论2
  • 2楼
    2016-04-20 01:09
    趁热拿铁

    使用MPMoviePlayer全屏播放视频,横屏状态下退出,会导致状态栏和导航栏重合,怎么破?

    站长回复

    这个不太清楚,我还没遇到这种情况。

  • 1楼
    2016-03-23 10:37
    小曹

    怎么视频URL是对的,怎么就不能播放呢?本地资源也是不行

    站长回复

    自iOS9起,MPMoviePlayerController已被废弃了。建议使用AVPlayerViewController代替。我后面会写篇相关文章,你可以关注下。