gpt4 book ai didi

ios - MPMoviePlayerController 不加载我的视频

转载 作者:行者123 更新时间:2023-11-28 22:31:04 24 4
gpt4 key购买 nike

我正在尝试使用 MPMoviePlayerController 显示视频,但我无法让它正常工作。我的视频在我的服务器上。所以我试图以这种方式显示它:

-(void) playMovieAtURL: (NSURL*) theURL {
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL];
moviePlayer.view.frame = self.view.bounds;
moviePlayer.controlStyle = MPMovieControlModeDefault;
moviePlayer.movieSourceType = MPMovieSourceTypeFile;
moviePlayer.fullscreen = YES;

[self.view addSubview:moviePlayer.view];
[moviePlayer prepareToPlay];
[moviePlayer play];
}

moviePlayer 是我的 viewController 的一个属性。给出的 URL 是正确的(在 safari 中测试)。我的视频是 .mov 视频。

当我的函数被调用时,我只是看到黑屏。控件没有出现,我认为视频没有加载是因为在应用程序的状态栏中,没有显示网络事件指示器。

欢迎任何帮助。

编辑

我刚刚注意到,尝试从设备的 Safari 应用程序访问视频会导致此结果:enter image description here

编辑 2

我的视频是 480∆×∆850,而 MPMoviePlayerController 只支持最高 640 x 480 的视频。所以用这个框架玩不了。我是否必须调整我的视频大小,或者是否有其他框架可以用来显示它?我只需要一个非常简单的播放器...

最佳答案

这样做:

-(void)playMovieAtURL:: (NSURL*) url
{

moviePlayer = [[MPMoviePlayerController alloc]
initWithContentURL:url];

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

moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
[moviePlayer play];
[self.view bringSubviewToFront:moviePlayer.view];
}


- (void) moviePlayBackDidFinish:(NSNotification*)notification {
MPMoviePlayerController *player = [notification object];
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];

if ([player
respondsToSelector:@selector(setFullscreen:animated:)])
{
[player.view removeFromSuperview];
}
}

关于ios - MPMoviePlayerController 不加载我的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17445360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com