views:

95

answers:

2

Here's the thing: in my iPad app I'm playing a video using MPMoviePlayerController, the movie player's view is a subview of my main view and I have another semi-transparent view on top of the video view.

What I'd like to do is redraw my transparent view every time the video view is updated, because the content of that view depends on the video, so I need to know when it is updated.

Furthermore, I need to get the content of the video view as an UIImage in order to update my transparent view.

Anybody has any idea on how to do these two things?

Thanks a bunch

+3  A: 

I don't think that's possible (it seems like a performance hog, really), but who knows?

FX
Possibly, I'll only know once I've tried it :-) I could use a timer to do my automatic update, but the most difficult part is getting the picture. It's got to be somewhere in the memory of the GPU, after all, it's decoded by the hardware decoder, could I get access to it through OpenGL?
Guy
A: 

Using MPMovieplayerController you cant possible to get every frame info but you can have images of every frame ... is that image helps you to get frame data i don't know more about that..

jeeva
You mean, using - (UIImage *)thumbnailImageAtTime:(NSTimeInterval)playbackTime timeOption:(MPMovieTimeOption)option? Tried it, the performance is bad, probably because for each request, the decoder starts from the nearest key frame and decodes all p-frames to the targeted one.
Guy
ya i know the performance is too slow... any other techniques u found...
jeeva