- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 UIView 中创建了一个 MPMoviePlayerViewController(不是在我的 UIVIewController 中!),如下所示:
self.playButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 70, 125, 100)];
[self.playButton setBackgroundImage:[UIImage imageNamed:@"video_play.png"] forState:UIControlStateNormal];
[self.playButton addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchUpInside];
self.playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
self.playerViewController.moviePlayer.fullscreen = NO;
self.playerViewController.view.frame = CGRectMake(0, 0, 320, 200);
[self.playerViewController.moviePlayer prepareToPlay];
self.playerViewController.moviePlayer.shouldAutoplay = NO;
self.playerViewController.view.backgroundColor = [UIColor yellowColor];
[self addSubview:self.playerViewController.view];
[self.playerViewController.view addSubview:self.playButton];
}
- (void)buttonPressed:(id)sender{
(NSLog(@"Click"));
[self.playerViewController.moviePlayer setFullscreen:YES animated:YES];
[self.playerViewController.moviePlayer play];
}
如你所见,我在 videoView 上添加了一个按钮,因为这部分应该只是一个预览,当用户点击按钮时,MPMoviePlayerViewController 应该动画到全屏并开始播放,当视频结束时它应该回到预览 View 。到目前为止一切正常,但我有两个问题:
第一个问题:每次我打开 View 时,我的 StatusBar 都会隐藏起来,它看起来像这样:
所以我在 UIViewController 的 viewWillAppear 和 viewDidAppear 中设置:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
这行得通,但现在状态栏被隐藏并立即再次出现,看起来很难看,有机会解决这个问题吗?
第二个问题:
当我点击自定义按钮时,视频变成全屏并且一切正常!但是当我按下视频的完成按钮时,一切都回到预览屏幕,它看起来像这样:状态栏被隐藏,导航栏也坏了,视频上方有很多黑色空间,这里有什么问题?
最佳答案
好的,我找到了这个问题的解决方案,它有点老套,但我没有找到其他解决方案。在我的 ViewController 中,我这样做:
- (void)viewDidLoad {
[super viewDidLoad];
float delay = 0.1;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[UIApplication sharedApplication].statusBarHidden = NO;
});
对于用户点击返回按钮的情况,我这样做:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[UIApplication sharedApplication].statusBarHidden = NO;
}
关于ios - MPMoviePlayerViewController隐藏StatusBar并在观看后销毁Frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196565/
如何在我的应用程序中播放电影?我尝试使用此代码,但 xcode 给出了此错误: NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePat
我对 MPMoviePlayerViewController 及其属性重复模式有疑问。据称,将其设置为 MPMovieRepeatModeOne 值将导致播放器重复播放。我使用以下代码循环播放视频,但
我在让 MPMoviePlayerViewController 工作时遇到问题。我有一个新项目,在 viewDidLoad 之后我尝试在 moviePlayerViewController 中播放电影
我的应用程序以电影开始,我尝试向下滑动或向下滑动以继续电影,但我不知道为什么手势不起作用,我尝试使用: [player view].userInteractionEnabled = NO; -(voi
我的 MPMoviePlayerViewController 存在问题:如果 Controller 在指定的 URL 处找不到电影,它会显示白屏,并且我无法使其关闭。 这就是我启动电影播放器的方式
我目前正在开发一个使用 MPMoviePlayerViewController 和 MPMoviePlayerViewController 的网络电视应用程序。 MPMoviePlayer 在 iPh
因此,我尝试了多种方法,结果相同。 我使用 YouTube MP4 URL 进行了测试,例如: This 我这样做的方式看起来很像: self.moviePlayer = [[MPMoviePlaye
我正在使用 cocos2d,我想播放电影。为此,我创建了 MPMoviePlayerViewController 并将其作为 [[CCDirector sharedDirector] openGLVi
MPMoviePlayerViewController(我使用快捷方式 MPVC)正确播放录制的肖像电影时出现问题。(在装有 iOS 6.0.1 的 iPhone 4S 上测试)该应用程序执行此操作:
我正在制作一个 iOS 视频播放器应用程序,它从 Web 服务获取一大堆视频 URL 并在 MPMoviePlayerViewController 中播放它们。 大部分视频只是 .mp4 或 .mov
这可能是重复的,但我没有得到我想要的。 我的应用程序只是基于纵向的,我想在其中仅在 MPMoviePlayerViewController 和 Landscape 模式下显示一个Video 文件。但无
我正在使用 MPMoviePlayerViewController 播放视频。 我将重复模式设置为 MPMovieRepeatModeOne,以便视频可以循环播放。 有什么方法可以用来获取播放视频的重
我有一个带有新闻提要屏幕的应用程序,就像 facebook 应用程序中的那个一样。为此,我制作了一个自定义单元格,它有一个 contentView,它是一个 UIView。此 contentView
我正在使用 MPMoviePlayerViewController 在我的应用程序中显示视频。有用!唯一的问题是电影播放前有黑色闪光。 如何去除黑色闪光?我看过其他线程,但它们似乎没有适用于 MPMo
我正在尝试为标题/启动屏幕加载一部小电影。但是,当我调用 presentMoviePlayerViewControllerAnimated 时,什么也没有发生。我已经确认该代码块正在执行,但用户无法感
我目前在 iOS 4.3.5 上运行,并尝试让我的 MPMoviePlayerViewController 在进入后台后继续播放。 我按照上面的描述实现了所有内容 http://developer.a
我会保持简单,代码如下: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)index
我正在尝试添加 subview MPMoviePlayerViewController 对象,它的顶部栏向下移动了一点,但如果我确实呈现了 MPMoviePlayerViewController 对象
这是我的代码,应该播放嵌入 subview 中的视频,但它只显示没有控件的静态图像。 - (void)displayVideo:(NSURL *)videoURL { if (self.med
我正在使用下面的代码来播放视频,但在使用表示资源文件路径的本地 url 时它工作正常。不适用于服务器网址。 player = [[MPMoviePlayerViewController alloc]
我是一名优秀的程序员,十分优秀!