【问题标题】:MPMovieViewController next/previous button eventMPMovieViewController 下一个/上一个按钮事件
【发布时间】:2015-04-13 14:40:22
【问题描述】:

我是 Swift 新手 我正在使用 MPMovieviewcontroller 当我单击下一个或上一个按钮时,不会发生任何事件 这是代码

import UIKit
import MediaPlayer
class ViewController: UIViewController {
var i : Int = 0

var movieplayer : MPMoviePlayerController!

var arr = ["Akbar","Serial","ak"]
override func viewDidLoad() {
    super.viewDidLoad()

    UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
    self.becomeFirstResponder()
    startplaying()

}

override func canBecomeFirstResponder() -> Bool {
    return true
}
override func remoteControlReceivedWithEvent(event: UIEvent) {
    if event.subtype == UIEventSubtype.RemoteControlNextTrack
    {
        i++
        startplaying()
      println(event.subtype)
    }
}
func startplaying()
{
 if i <= 2
 {
 let path = NSBundle.mainBundle().pathForResource(arr[i], ofType: "mov")
let url = NSURL.fileURLWithPath(path!)

movieplayer = MPMoviePlayerController(contentURL: url)
}

movieplayer.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
movieplayer.view.sizeToFit()

movieplayer.scalingMode = MPMovieScalingMode.AspectFill
movieplayer.fullscreen = true

movieplayer.controlStyle = MPMovieControlStyle.Fullscreen

movieplayer.movieSourceType = MPMovieSourceType.File
movieplayer.prepareToPlay()

self.view.addSubview(movieplayer.view)
}

当我调试这段代码时,remoteControlReceivedWithEvent 函数没有执行

我得到了here的帮助

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    试试这个

    func startplaying() {
        if i <= 2 {
            let path = NSBundle.mainBundle().pathForResource(arr[i], ofType: "mov")
            let url = NSURL.fileURLWithPath(path!)
        movieplayer.contentURL = NSURL.fileURLWithPath(url)
    }
    

    阅读更多:Play MP4 using MPMoviePlayerController() in Swift

    【讨论】:

    • 感谢回复,但我不想播放mp4视频我想一个一个播放视频
    【解决方案2】:

    在这里我使用按钮执行下一个/上一个手动操作 我希望这是下一个/上一个操作的正确方法

    import UIKit
    import MediaPlayer
    class ViewController: UIViewController {
    var movieplayer : MPMoviePlayerController!
    var arr = ["ak","Serial","Akbar"]
    var i = 0
    override func viewDidLoad() {
        super.viewDidLoad()
        startplaying()
    }
    @IBOutlet var views: UIView!
    var flag = 0
    @IBOutlet var next: UIButton!
    @IBOutlet var pre: UIButton!
    @IBOutlet var play: UIButton!
    func startplaying()
    {
    if i >= 0 && i <= 2
    {
     let path = NSBundle.mainBundle().pathForResource(arr[i], ofType: "mov")
     let url = NSURL.fileURLWithPath(path!)
     movieplayer = MPMoviePlayerController(contentURL: url)
    
    
        movieplayer.view.frame = CGRect(x: 0, y: 0, width: 320, height: 450)
        movieplayer.view.sizeToFit()
    
        movieplayer.scalingMode = MPMovieScalingMode.AspectFill
        movieplayer.fullscreen = true
    
        movieplayer.controlStyle = MPMovieControlStyle.Embedded
    
        movieplayer.movieSourceType = MPMovieSourceType.File
        movieplayer.repeatMode = MPMovieRepeatMode.One
    
        movieplayer.prepareToPlay()
    
       // self.view.addSubview(movieplayer.view)
        self.views.addSubview(movieplayer.view)
      }
      else
      {
        println("No Video Avaliable")
        movieplayer.stop()
      }
    }
    
    
    @IBAction func Previous(sender: AnyObject) {
        if i >= 0
        {
          i--
          startplaying()
        }
        else
        {
          println("No Video Avaliable")
          movieplayer.stop()
        }
    
    }
    
    @IBAction func Pause(sender: AnyObject) {
        if flag == 0
        {
         play.setTitle("Pause", forState: UIControlState.Normal)
         movieplayer.pause()
          flag = 1
        }
        else
        {
            play.setTitle("Play", forState: UIControlState.Normal)
            movieplayer.play()
            flag = 0
        }
    }
    
    @IBAction func next(sender: AnyObject) {
        if i <= 2
        {
         i++
         startplaying()
        }
        else
        {
          println("No Video Avaliable")
            movieplayer.stop()
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 2018-03-20
      相关资源
      最近更新 更多