gpt4 book ai didi

objective-c - 无法从 iPhone 播放本地视频

转载 作者:行者123 更新时间:2023-11-28 22:51:39 25 4
gpt4 key购买 nike

我在 iPhone 上播放视频时遇到问题。我在应用程序包中有一个文件,我试图在 MPMoviePlayerController 中播放它,但它只是显示黑屏。这是以下代码:

-(UIView*)createVideoPlayerOfWidth:(CGFloat)width
{
// The width for one of these can be half of the max width
//CGFloat widthAndHeight = width / 2.0f;

// TODO: Create a video player
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myVideo" ofType:@"mov"]];
MPMoviePlayerController *playerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
[playerController prepareToPlay];
[playerController setShouldAutoplay:NO];
[playerController setScalingMode:MPMovieScalingModeAspectFit];
[playerController setControlStyle:MPMovieControlStyleEmbedded];
[playerController setRepeatMode:MPMovieRepeatModeNone];

// Resize the thumbnail of the video
[[playerController view] setFrame:CGRectMake(0, 0, width, width)];

return [playerController view];
}

它正在返回一个有效的 URL(如果找不到文件,pathForResource 将返回 nil)。我通过将 subView(函数返回的 View )添加到 ScrollView 来将其显示到屏幕上。多年来,我一直在努力解决这个问题,但一无所获。非常感谢任何帮助。

谢谢!

最佳答案

确保您保留对 MPMoviePlayerController 实例的引用:

  • 如果这是一个 ARC 项目,那么 playerController 将在 createVideoPlayerOfWidth 返回时被销毁,您的视频可能无法播放。您应该将播放器存储在 strong 实例变量或属性中。

    您可以在 View Controller 文件的顶部添加类似这样的内容:

    @interface MyViewController ()
    @property (nonatomic,retain) MPMoviePlayerController *player;
    @end

    并在创建 MPMoviewPlayerController 实例后插入:

    self.player = playerController;
  • 如果您不使用 ARC,这可能不是问题,但您仍应在实例变量中保留一个引用,以便稍后释放它。

关于objective-c - 无法从 iPhone 播放本地视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848403/

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