i'm working on video diary app plays video (the video includes questions) no audio local library , records users responding video through camera , microphone.
the video , recorder needs start when ui button pressed , and when finished stop recording. far following tutorials can play video, when button pressed, local library using avplayerviewcontroller , display notification when video has finished. attempts use uiimagepickercontroller activate camera interfere playing of video. know of tutorial or have advice on how proceed?
import uikit import avkit import avfoundation import mobilecoreservices class viewcontroller: uiviewcontroller, uiimagepickercontrollerdelegate, uinavigationcontrollerdelegate { var playercontroller : avplayerviewcontroller! let imagepicker: uiimagepickercontroller! = uiimagepickercontroller() let savefilename = "/test.mp4" override func viewdidload() { super.viewdidload() // additional setup after loading view, typically nib. } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } @ibaction func play(sender: anyobject) { let path = nsbundle.mainbundle().pathforresource("video", oftype: "mov") let url = nsurl(fileurlwithpath: path!) let player = avplayer(url: url) playercontroller = avplayerviewcontroller() nsnotificationcenter.defaultcenter().addobserver(self, selector: #selector(viewcontroller.didfinishplaying(_:)), name: avplayeritemdidplaytoendtimenotification, object: player.currentitem) playercontroller.player = player playercontroller.player?.play() // imagepicker.sourcetype = .camera // imagepicker.cameradevice = .front // imagepicker.sourcetype = .camera // imagepicker.mediatypes = [kuttypemovie string] // imagepicker.allowsediting = false // imagepicker.delegate = self // presentviewcontroller(imagepicker, animated: false, completion: {}) self.presentviewcontroller(playercontroller, animated: true, completion: nil) } func didfinishplaying(note : nsnotification){ playercontroller.dismissviewcontrolleranimated(true, completion: nil) let alertview = uialertcontroller(title: "finished", message: "video finished", preferredstyle: .alert) alertview.addaction(uialertaction(title: "okay", style: .default, handler: nil)) self.presentviewcontroller(alertview, animated: true, completion: nil) } }
thank taking time @ question.
Comments
Post a Comment