Overlay on top of Streaming MPMoviePlayerController

前端 未结 4 1897
被撕碎了的回忆
被撕碎了的回忆 2020-12-13 03:23

I went through the example from apple \"MoviePlayer on iPhone\"

Im trying to overlay on top of the mpmovieplayercontroller,

it works perfectly with video cli

4条回答
  •  别那么骄傲
    2020-12-13 03:31

    MPMoviePlayerController creates its own window and sets that as the key window - you probably know this already from the MoviePlayer sample app.

    I don't know why, but there's a delay when the player uses a stream - so the keyWindow you get right after you initialize the player is likely not the player's window, since that seems to get added later.

    You can "cheat" and use a timer to get the player window a few seconds later, and add your overlay:

    [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(addMyOverlay:) userInfo:nil repeats:FALSE]
    

    Or you can listen for the UIWindowDidBecomeKeyNotification event, and do the same:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyWindowChanged:) name:UIWindowDidBecomeKeyNotification object:nil];
    

    Neither option is great (I'd love to know a cleaner way to do this), but it gets the job done.

提交回复
热议问题