swift - Audio from MPMoviePlayerController continues playing after segue to next view controller -
after adding video file, audio video preview continues after segue next vc pressed.
is there way stop audio playing after segue pressed?
var objmovieplayercontroller: mpmovieplayercontroller = mpmovieplayercontroller() var urlvideo: nsurl = nsurl() @iboutlet weak var videoprofileview: uiimageview! @iboutlet weak var addvideobtn: uibutton! override func viewdidload() { super.viewdidload() var thewidth = view.frame.size.width var theheight = view.frame.size.height videoprofileview.frame = cgrectmake(0, 50, thewidth, thewidth) addvideobtn.center = cgpointmake(thewidth/2, self.videoprofileview.frame.maxy+50) } @ibaction func addvideobtn_click(sender: anyobject) { var ipcvideo = uiimagepickercontroller() ipcvideo.delegate = self ipcvideo.sourcetype = uiimagepickercontrollersourcetype.photolibrary ipcvideo.allowsediting = true ipcvideo.videomaximumduration = 15 var kuttypemovieanyobject : anyobject = kuttypemovie anyobject ipcvideo.mediatypes = [kuttypemovieanyobject] self.presentviewcontroller(ipcvideo, animated: true, completion: nil) } func imagepickercontroller(picker: uiimagepickercontroller, didfinishpickingmediawithinfo info: [nsobject : anyobject]) { urlvideo = (info nsdictionary).objectforkey(uiimagepickercontrollermediaurl) as! nsurl self.dismissviewcontrolleranimated(true, completion: nil) objmovieplayercontroller = mpmovieplayercontroller(contenturl: urlvideo) objmovieplayercontroller.moviesourcetype = mpmoviesourcetype.unknown objmovieplayercontroller.view.frame = self.videoprofileview.bounds objmovieplayercontroller.scalingmode = mpmoviescalingmode.aspectfill objmovieplayercontroller.controlstyle = mpmoviecontrolstyle.none objmovieplayercontroller.shouldautoplay = true videoprofileview.addsubview(objmovieplayercontroller.view) objmovieplayercontroller.preparetoplay() objmovieplayercontroller.play() } @ibaction func next_click(sender: anyobject) { let data:nsdata = nsdata(contentsofurl: urlvideo)! let file = pffile(name:"video.mp4", data:data) var currentuser = pfuser.currentuser()! currentuser["video"] = file currentuser.saveinbackgroundwithblock( { (succeeded: bool, error: nserror?) -> void in if error == nil { println("video saved") } else { println("couldn't save video") } }) }
tell video stop
before segueing next view controller.
override func prepareforsegue(segue: uistoryboardsegue?, sender: anyobject?) { objmovieplayercontroller.stop() }
Comments
Post a Comment