Notification of YouTube video completion in iPhone app
I've embedded the YouTube video with no difficulties following method #2 of the YouTube API Blog:
http://apiblog.youtube.com/2009/02/youtube-apis-iphone-cool-mobile-apps.html
Is there any way to know when the video has finished playing (or when the user presses the Done button on the movie controller)?
For instance, say you wanted to play each video in a playlist without requiring the user to interact with the app. Is there any hook for when to start开发者_C百科 the next video?
I am afraid you are out of luck. I have searched for the same thing around six months before and came to the conclusion that it is not possible with the current SDK. I have posted a similar question in stack overflow too.
https://stackoverflow.com/questions/4011796/notification-after-video-playback-in-mobile-safari
In general, if you need this kind of functionality, you have to use MPMoviePlayerCOntroller, not a web view.Even then, I don't think youtube URLs are supported by this class.
Going by smoothlandon's post, this is what I implemented to determine if the YouTube/Safari window is still active. My App is really simple and it only has the main window, and a YouTube/Safari view that loads.
viewDidLoad:
activeWindow = [[UIApplication sharedApplication] keyWindow];
windowTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(checkForMedia) userInfo:nil repeats:YES];
- (void) checkForMedia{
newWindow = [[UIApplication sharedApplication] keyWindow];
if(newWindow == activeWindow){
NSLog(@"media is not playing");
}else{
NSLog(@"media is playing");
}
}
精彩评论