我想编写一个应用程序,在视图中下载(或流式传输)视频(根据需要进行编码)。我不想使用SDK中的MPVideoPlayer,因为它会全屏打开视频。我想在视频上放置另一个UIView(透明),以便我的用户可以对视频进行注释。
任何人都有任何想法,或者可以指出一些将在UIView中播放视频的代码?
答案 0 :(得分:1)
如果您想这样做,您需要包含您自己的(软件)视频解码器,该解码器无法访问系统上的硬件加速。即使你能让它以可接受的性能工作,也会造成巨大的电池消耗。
答案 1 :(得分:1)
如果你想以纵向模式播放视频,我有解决方案。
如果您认为-MPMovie Player可以在视图下运行,根据我的说法,这是不可能的。
MP电影播放器将按照Apple的设计运作。
因此,MP电影播放器将始终/几乎全屏运行。
肖像模式的解决方案。
@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];
}
希望对你有所帮助。
请参阅,我的问题与您的问题非常相似。
答案 2 :(得分:1)
试试这个:
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];
答案 3 :(得分:0)
也许您应该检查MediaPlayer的私有标头,然后只需将视频的视图添加为视图的子视图。