Ios Mpmovieplayercontroller视频暂停,同时单击按钮可获得其他功能

Ios Mpmovieplayercontroller视频暂停,同时单击按钮可获得其他功能,ios,xcode,macos,mpmovieplayercontroller,Ios,Xcode,Macos,Mpmovieplayercontroller,我正在使用MPMovieplayerController播放视频,同时单击其他按钮,即我想在再次播放视频的任何位置暂停视频。我单击播放意味着我想在暂停时播放。但对我来说,现在单击按钮意味着我的视频已停止。但我想暂停而不是停止。 这里是我的示例代码 - (IBAction) playvideo { NSURL *url = [NSURL URLWithString:@"http://xyz/video1.mp4"]; movieplayer = [[[MPMoviePlay

我正在使用
MPMovieplayerController
播放视频,同时单击其他按钮,即我想在再次播放视频的任何位置暂停视频。我单击播放意味着我想在暂停时播放。但对我来说,现在单击按钮意味着我的视频已停止。但我想暂停而不是停止。 这里是我的示例代码

    - (IBAction) playvideo
{
    NSURL *url = [NSURL URLWithString:@"http://xyz/video1.mp4"];
    movieplayer = [[[MPMoviePlayerController alloc]initWithContentURL:url] retain]; 
movieplayer.view.frame=CGRectMake(25,54,658,460);    
    [self.view addSubview:movieplayer.view];
    [movieplayer play];
}

-(void)buttononclick
{

    [movieplayer pause];
    [movieplayer.view removeFromSuperview];

    for (int i = 0; i < 13; i++)
    {
CGRect frame;
frame.origin.x = 150 * i;
frame.origin.y = 0;
frame.size = CGSizeMake(140, self.scrollView.frame.size.height);
        [scrollView setShowsHorizontalScrollIndicator:NO];



        UIImageView *temp1 = [[UIImageView alloc] initWithFrame:CGRectMake(25, 7, 75, 75)];
        [temp1 setImage:[UIImage imageNamed:@"sti15.png"]];
        [self.scrollView addSubview:temp1];


        UIImageView *temp2 = [[UIImageView alloc] initWithFrame:CGRectMake(110, 7, 75, 75)];
        [temp2 setImage:[UIImage imageNamed:@"sti16.png"]];
        [self.scrollView addSubview:temp2];


        UIImageView *temp3 = [[UIImageView alloc] initWithFrame:CGRectMake(195, 7, 75, 75)];
        [temp3 setImage:[UIImage imageNamed:@"sti17.png"]];
        [self.scrollView addSubview:temp3];

}
    self.scrollView.contentSize = CGSizeMake(165 * 10, self.scrollView.frame.size.height);
    self.scrollView.pagingEnabled=0;
}

- (void)viewDidDisappear:(BOOL)animated
{
   // [self setDescText:nil];
[super viewDidDisappear:animated];
    [movieplayer pause];
    [movieplayer.view removeFromSuperview];
}
-(iAction)播放视频
{
NSURL*url=[NSURL URLWithString:@”http://xyz/video1.mp4"];
movieplayer=[[MPMoviePlayerController alloc]initWithContentURL:url]retain];
movieplayer.view.frame=CGRectMake(25,54658460);
[self.view addSubview:movieplayer.view];
[电影播放器播放];
}
-(无效)按钮不单击
{
[电影播放器暂停];
[movieplayer.view从SuperView移除];
对于(int i=0;i<13;i++)
{
CGRect帧;
frame.origin.x=150*i;
frame.origin.y=0;
frame.size=CGSizeMake(140,self.scrollView.frame.size.height);
[滚动视图设置ShowShorizontalsCrollinIndicator:否];
UIImageView*temp1=[[UIImageView alloc]initWithFrame:CGRectMake(25,7,75,75)];
[temp1 setImage:[UIImage IMAGENAME:@“sti15.png”];
[self.scrollView addSubview:temp1];
UIImageView*temp2=[[UIImageView alloc]initWithFrame:CGRectMake(110,7,75,75)];
[temp2 setImage:[UIImage IMAGENAME:@“sti16.png”];
[self.scrollView addSubview:temp2];
UIImageView*temp3=[[UIImageView alloc]initWithFrame:CGRectMake(195,7,75,75)];
[temp3 setImage:[UIImage IMAGENAME:@“sti17.png”];
[self.scrollView addSubview:temp3];
}
self.scrollView.contentSize=CGSizeMake(165*10,self.scrollView.frame.size.height);
self.scrollView.PaginEnabled=0;
}
-(无效)视图消失:(BOOL)已设置动画
{
//[self-setDescText:nil];
[超级视窗消失:动画];
[电影播放器暂停];
[movieplayer.view从SuperView移除];
}

查看
MPMoviePlaybackStatePlaying
mpmovieplaybackstateststopped
mpmovieplaybackstateplaused
,以及
mpmovieplaybackstatedinterupted
的通知

比如:

MPMoviePlayerController *player = notification.object;
/* Playback is currently stopped. */
    if (player.playbackState == MPMoviePlaybackStateStopped)
    {
        NSLog(@"MPMoviePlaybackStateStopped");
    }

/*  Playback is currently under way. */
    else if (player.playbackState == MPMoviePlaybackStatePlaying)
    {        
        NSLog(@"MPMoviePlaybackStatePlaying");
        }

/* Playback is currently paused. */
    else if (player.playbackState == MPMoviePlaybackStatePaused)
    {
        NSLog(@"MPMoviePlaybackStatePaused");
    }
您可以将您的目标操作连接起来,如下所示:

if ((_moviePlayer.playbackState == MPMoviePlaybackStateStopped) || (_moviePlayer.playbackState == MPMoviePlaybackStatePaused)) {
            [_moviePlayer play];
        } else {
            [_moviePlayer pause];
        }

查看
mpmovieplaybackstate播放
mpmovieplaybackstate停止
mpmovieplaybackstate暂停
,以及
mpmovieplaybackstate中断
的通知

比如:

MPMoviePlayerController *player = notification.object;
/* Playback is currently stopped. */
    if (player.playbackState == MPMoviePlaybackStateStopped)
    {
        NSLog(@"MPMoviePlaybackStateStopped");
    }

/*  Playback is currently under way. */
    else if (player.playbackState == MPMoviePlaybackStatePlaying)
    {        
        NSLog(@"MPMoviePlaybackStatePlaying");
        }

/* Playback is currently paused. */
    else if (player.playbackState == MPMoviePlaybackStatePaused)
    {
        NSLog(@"MPMoviePlaybackStatePaused");
    }
您可以将您的目标操作连接起来,如下所示:

if ((_moviePlayer.playbackState == MPMoviePlaybackStateStopped) || (_moviePlayer.playbackState == MPMoviePlaybackStatePaused)) {
            [_moviePlayer play];
        } else {
            [_moviePlayer pause];
        }
试试这个代码,它会工作的


请尝试此代码,它将工作

您可以将目标添加到播放/暂停按钮。 但首先你需要抓住mpmovieplayerview的按钮

步骤1列出按钮。方法引用自

当按钮出现时调用此方法(视频准备就绪)。 但请记住,这也将捕获全屏按钮和airplay按钮(如果可用)

步骤2:实施行动

-(IBAction)extraAction:(id)sender{
    NSLog(@"some extraAction");
}
调用catch方法sample。
[self-catchsubview of视图:movieplayer.view]

您可以将目标添加到播放/暂停按钮。 但首先你需要抓住mpmovieplayerview的按钮

步骤1列出按钮。方法引用自

当按钮出现时调用此方法(视频准备就绪)。 但请记住,这也将捕获全屏按钮和airplay按钮(如果可用)

步骤2:实施行动

-(IBAction)extraAction:(id)sender{
    NSLog(@"some extraAction");
}
调用catch方法sample。
[self-catchsubview of视图:movieplayer.view]

你能告诉我暂停视频的方法吗