Встроенное видео в UIView с iPhone - PullRequest
2 голосов
/ 28 августа 2009

Я хотел бы написать приложение, которое загружает (или передает) видео (закодированное как требуется) в виде. Я не хочу использовать MPVideoPlayer из SDK, поскольку он открывает видео в полноэкранном режиме. Я хотел бы разместить другой UIView (прозрачный) поверх видео, чтобы мои пользователи могли комментировать видео.

Кто-нибудь имеет какие-либо идеи или может указать мне код, который будет воспроизводить видео в UIView?

Ответы [ 4 ]

1 голос
/ 26 марта 2012

Попробуйте это:

UIViewController *v = [[UIViewController alloc] init];
v.view.backgroundColor = [UIColor orangeColor];

NSString *path = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"mp4"];    
if (![[NSFileManager defaultManager] fileExistsAtPath:path])
{
    NSLog(@"cannot find %@ in bundle or doctuments", path);
}

NSURL *url = [NSURL fileURLWithPath:path];


MoviePlayerViewController *mpvc = [[MoviePlayerViewController alloc] initWithContentURL:url];

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(movieFinishedCallback:) 
                                             name:MPMoviePlayerPlaybackDidFinishNotification 
                                           object:mpvc.moviePlayer];

mpvc.moviePlayer.fullscreen = NO;  
[mpvc.moviePlayer setControlStyle:MPMovieControlStyleNone];
mpvc.moviePlayer.view.frame = CGRectMake(10, 100, 300, 300);

[v.view addSubview:mpvc.moviePlayer.view];
[mpvc.moviePlayer play];

[self presentModalViewController:v animated:YES];

[v release];
1 голос
/ 23 октября 2009

Если вы хотите воспроизвести видео в портретном режиме, у меня есть решение для этого.

Если вы считаете, что -MPMovie Player может работать под видом, по моему мнению, это невозможно.

MP Movie Player будет работать так, как разработал Apple.

Итак, MP Movie Player всегда / почти будет работать в полноэкранном режиме.

Решение для портретного режима.

@interface MPMoviePlayerController (extend)
-(void)setOrientation:(int)orientation animated:(BOOL)value;
@end

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieUR];
[moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO];
if (moviePlayer)
{
        [self.moviePlayer play];
}

Надеюсь, что это поможет вам.

Видите, мой вопрос очень похож на ваш.

воспроизведение видео на экране нестандартного размера - просмотр в iphone

1 голос
/ 28 августа 2009

Если вы хотите сделать это, вам нужно будет включить свой собственный (программный) видеодекодер, который не будет иметь доступа к аппаратному ускорению в системе. Даже если вы сможете заставить его работать с приемлемой производительностью, это приведет к огромному расходу батареи.

0 голосов
/ 29 августа 2009

Возможно, вам следует проверить личные заголовки MediaPlayer и просто добавить вид видео в качестве подпредставления своего вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...