将视频集成到 iPhone 应用程序中
我必须将视频集成到我的 iPhone 应用程序中。与网上所有代码的区别在于,我必须显示视频并给用户播放它的机会。而不是自动播放它。
这就是我所做的:
- (void) play
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"video1" ofType:@"mp4"];
NSURL *fileUrl1 = [NSURL fileURLWithPath:path];
videoPlayer1 = [[MPMoviePlayerController alloc] initWithContentURL:fileUrl1];
[videoPlayer1 setControlStyle:MPMovieControlStyleNone];
[[videoPlayer1 view] setFrame:[self.view bounds]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
//[videoPlayer1 play];
[self.view addSubview:[videoPlayer1 view]];
}
- (void) moviePlayBackDidFinish:(NSNotification*)_notification
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
[videoPlayer1.view removeFromSuperview];
[videoPlayer1 stop];
[videoPlayer1 release];
videoPlayer1 = nil;
}
但是屏幕只是变黑,没有显示任何其他内容。
除非我执行 [videoPlayer1 play]
什么也不会发生。但我不想自动播放视频......它必须由用户播放。 那么,我应该如何操作才能显示视频(而不是黑屏)并在用户希望时播放它?谢谢
I have to integrate a video into my iphone app.The difference from all the code that there is on the net is that I have to show the video and give to the user the chance to play it.Not to play it automatically.
And here is what I have done:
- (void) play
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"video1" ofType:@"mp4"];
NSURL *fileUrl1 = [NSURL fileURLWithPath:path];
videoPlayer1 = [[MPMoviePlayerController alloc] initWithContentURL:fileUrl1];
[videoPlayer1 setControlStyle:MPMovieControlStyleNone];
[[videoPlayer1 view] setFrame:[self.view bounds]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
//[videoPlayer1 play];
[self.view addSubview:[videoPlayer1 view]];
}
- (void) moviePlayBackDidFinish:(NSNotification*)_notification
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
[videoPlayer1.view removeFromSuperview];
[videoPlayer1 stop];
[videoPlayer1 release];
videoPlayer1 = nil;
}
But the screen just turn black and nothing else shown.
Unless I do [videoPlayer1 play]
nothing happens.But I don't want to play the video automatically...it must be played by the user.
So, how should I act in order to show up the video(!not the black screen) and play it when the user wishes?Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您犯了一个错误,这里是
Change this
[videoPlayer1 setControlStyle:MPMovieControlStyleNone];
到
[videoPlayer1 setControlStyle:MPMovieControlStyleDefault];
您正在使用您的那一行来隐藏控件。
干杯!!!
You are making an error and here it is
Change this
[videoPlayer1 setControlStyle:MPMovieControlStyleNone];
to
[videoPlayer1 setControlStyle:MPMovieControlStyleDefault];
You are hiding the controls by using that line of yours.
Cheers!!!