xcode - Swift - Can't Dismiss MPMoviePlayerViewController -
i have video opens in mpmovieplayercontroller
in app. works great except done
button should close player. first time video played done
button works great. if pause when watching it, hit done
second time try play video, done
button doesn't work. have made screen recording here make bit simpler understand: http://1drv.ms/1jcdodc
can help?
this code using:
import uikit import mediaplayer class maincontent: uiviewcontroller { //movie player variables var movieviewcontroller : mpmovieplayerviewcontroller? var movieplayer : mpmovieplayercontroller! override func viewdidload() { super.viewdidload() //video player setup nsnotificationcenter.defaultcenter().addobserver(self, selector: "donebuttonclick:", name: mpmovieplayerplaybackdidfinishnotification, object: nil) var url = nsurl(string: "http://jplayer.org/video/m4v/big_buck_bunny_trailer.m4v")! movieviewcontroller = mpmovieplayerviewcontroller(contenturl: url) } func donebuttonclick(sender:nsnotification?){ let value = uiinterfaceorientation.portrait.rawvalue uidevice.currentdevice().setvalue(value, forkey: "orientation") } //when watch button pressed, present movie player @ibaction func watchpressed(sender: anyobject) {self.presentmovieplayerviewcontrolleranimated(movieviewcontroller)} }
to fix issue, added mymovieplayerviewcontroller.movieplayer.stop()
'donebuttonclick' function. added mymovieplayerviewcontroller.movieplayer.play()
again
@ibaction func watchpressed(sender: anyobject) {self.presentmovieplayerviewcontrolleranimated(movieviewcontroller)} }
so in simple fix! code below:
import uikit import mediaplayer class maincontent: uiviewcontroller { //movie player variables var movieviewcontroller : mpmovieplayerviewcontroller? var movieplayer : mpmovieplayercontroller! override func viewdidload() { super.viewdidload() //video player setup nsnotificationcenter.defaultcenter().addobserver(self, selector: "donebuttonclick:", name: mpmovieplayerplaybackdidfinishnotification, object: nil) var url = nsurl(string: "http://jplayer.org/video/m4v/big_buck_bunny_trailer.m4v")! movieviewcontroller = mpmovieplayerviewcontroller(contenturl: url) } func donebuttonclick(sender:nsnotification?){ let value = uiinterfaceorientation.portrait.rawvalue uidevice.currentdevice().setvalue(value, forkey: "orientation") movieviewcontroller?.movieplayer.stop() } @ibaction func watchpressed(sender: anyobject){ self.presentmovieplayerviewcontrolleranimated(movieviewcontroller) movieviewcontroller?.movieplayer.play() } }
Comments
Post a Comment