У меня сейчас просто проблема с отображением вида / метки / кнопки поверх видеофильма. В примере проекта Apple MoviePlayer вы можете добавить вид поверх видео с помощью этого кода:
MoviePlayerAppDelegate *appDelegate = (MoviePlayerAppDelegate *)[[UIApplication sharedApplication] delegate];
// initialize a new MPMoviePlayerController object with the specified URL, and play the movie
[appDelegate initAndPlayMovie:[self localMovieURL]];
NSArray *windows = [[UIApplication sharedApplication] windows];
if ([windows count] > 1) {
// Locate the movie player window
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
// Add our overlay view to the movie player's subviews so it is displayed above it.
[moviePlayerWindow addSubview:self.overlayView];
}
Наложение - это представление, которое содержит запрошенную метку и кнопку. Однако, когда я применяю тот же код к URL-адресу фильма, содержащему файл .m3u8, он не отображает вид наложения, например http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
NSURL *newMovieURL = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8">];
if (movieURL) {
NSLog(@"movieURL");
if ([movieURL scheme]) // sanity check on the URL
{ NSLog(@"[movieURL scheme]");
[appDelegate initAndPlayMovie:newMovieURL];
NSArray *windows = [[UIApplication sharedApplication] windows];
NSLog(@"windows count:%d", [windows count]);
if ([windows count] > 1) {
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
[moviePlayerWindow addSubview:self.overlayView];
}
}
else NSLog(@"![movieURL scheme]"); } else
NSLog(@"!movieURL");
Количество возвращаемых окон равно 1, в отличие от 2 в предыдущем примере, хотя фильм воспроизводится. Когда я проверяю URL, чтобы увидеть, все ли в порядке, movieURL возвращает ноль, но все равно воспроизводит потоковое содержимое. Я попытался убрать проверку на счетчик окон, превышающий 1, но он по-прежнему не отображал вид наложения.
Кто-нибудь знает способ обойти это? Спасибо