I am trying to parse the JSON data which has video urls and the title. After parsing the data I am showing the video thumbnail in a UITableviewCell. The problem is that when the data is parsed and when its time to request for the thumbnail the NSNotification selector method is never been called. Here is my code:
override func viewDidLoad() {
super.viewDidLoad()
getJson_results()
}
override func viewWillDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
func videoThumbnailIsAvailable(notification: NSNotification) {
println("Flag1") //the control never reaches here
var thumbnail = notification.userInfo?[MPMoviePlayerThumbnailImageKey] as UIImage
self.temp_image = thumbnail
}
func videodurationIsAvailable(notification: NSNotification) {
var val = moviePlayer?.duration
self.temp_duration = val!
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return length_array;
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as WPR_Main
cell.imgView?.image = get_Media_thumbnail(NSURL(string:self.url[indexPath.row])!)
cell.titleLabel?.text = self.titles[indexPath.row]
return cell
}
func get_Media_thumbnail(url: NSURL) -> UIImage {
moviePlayer? = MPMoviePlayerController(contentURL: url)
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "videoThumbnailIsAvailable:",
name: MPMoviePlayerThumbnailImageRequestDidFinishNotification,
object: nil)
moviePlayer?.requestThumbnailImagesAtTimes([1.0], timeOption:.NearestKeyFrame )
return self.temp_image
}