英语里的‘快进,快退,播放,暂停,怎么说?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了英语里的‘快进,快退,播放,暂停,怎么说?相关的知识,希望对你有一定的参考价值。

参考技术A 快进/快退:fastwind(有不同的符号)
播放:play
暂停:pause
参考技术B fast forward,rewind,play,pause 参考技术C 快进:fast forward
快退:fast rewind
播放:play
暂停:pause
参考技术D fst frward ,fst rwind ,play, pause 第5个回答  2010-08-11 fastforward,fast reverse,play,suspend

iOS AVPlayer 在快退/快进后无法暂停

【中文标题】iOS AVPlayer 在快退/快进后无法暂停【英文标题】:iOS AVPlayer not able to pause after rewind/fastforward 【发布时间】:2020-03-10 07:05:07 【问题描述】:

场景

如果 AVPlayer 正在播放视频,请倒退 15 秒并继续播放。 如果 AVPlayer 暂停,则倒退 15 秒并保持暂停状态。

问题

在调用seekToTime: 后,我无法暂停视频。

问题

调用 seekToTime 后如何暂停播放器?

我已经尝试了[Avplayer pause] 以及将Avplayer.rate 设置为0。致电seekToTime 后,没有任何东西可以停止视频。

我的代码

@property (strong, nonatomic) AVPlayer *player;
.
.
.
@synthesize player
.
.
.
- (IBAction)rewind:(id)sender 
    NSLog(@"rewind called");

    int secToRewind = DEFAULT_REWIND_SEC;
    int time = CMTimeGetSeconds(player.currentTime) - secToRewind;
    CMTime newTime = CMTimeMakeWithSeconds(time, 1);
    CMTime tolerance = CMTimeMakeWithSeconds(1, 1);

    __weak __typeof__(self) weakSelf = self;
    int playerRate = player.rate;
    [player seekToTime:newTime toleranceBefore: tolerance toleranceAfter: tolerance completionHandler:^(BOOL finished) 

        NSLog(@"seekToTime called");

        __strong __typeof__(self) strongSelf = weakSelf;
        if (playerRate == 0) 
            [player pause];
        

    ];



【问题讨论】:

欢迎来到 ***。我可以推荐一个很棒的图书馆吗? pod 'FreeStreamer'. 【参考方案1】:

我猜的问题在于内容的缓冲,因为你要往后 X(应该是 15)秒,这是很多,它需要一点时间来缓冲内容。

试试下面的代码...

@property (strong, nonatomic) AVPlayer *player;
.
.
.
@synthesize player
.
.
.
- (IBAction)rewind:(id)sender 
    NSLog(@"rewind called");

    int secToRewind = DEFAULT_REWIND_SEC;
    int time = CMTimeGetSeconds(player.currentTime) - secToRewind;
    CMTime newTime = CMTimeMakeWithSeconds(time, 1);
    CMTime tolerance = CMTimeMakeWithSeconds(1, 1);

    __weak __typeof__(self) weakSelf = self;
    int playerRate = player.rate;
    [player seekToTime:newTime toleranceBefore: tolerance toleranceAfter: tolerance completionHandler:^(BOOL finished) 



        do 

          NSLog(@"Successful rewind");

         __strong __typeof__(self) strongSelf = weakSelf;
         if (playerRate == 0) 
             [player playAt:[player currentTime]];
         

        while (completed == true);

    ];



【讨论】:

感谢您的回答。我的问题不清楚,所以我更新了问题。致电seekToTime: 后,我无法暂停播放器。如果播放器暂停并且用户单击倒带按钮,我需要暂停它。它应该向后移动并保持暂停状态。【参考方案2】:

我找到了导致自动播放的代码。有一个观察者附在玩家身上。每当播放器项目处于AVPlayerItemStatusReadyToPlay 时,无论播放/暂停状态如何,播放器都会被设置为播放该项目。

带有修复的代码

case AVPlayerItemStatusReadyToPlay: 

            if ([playButton isSelected]) 
                 [self.player play];
            


        

【讨论】:

以上是关于英语里的‘快进,快退,播放,暂停,怎么说?的主要内容,如果未能解决你的问题,请参考以下文章

html+原生js做一个html5视频播放器

Android------视频播放器(包含全屏播放,快退,快进,腾讯新闻的列表播放等)

如何在 Swift 5 中使用 AV 音频播放器在特定时间间隔内快进或快退音频(如歌曲)?

利用MediaPlayer实现在线音频的播放(支持进度条拖动快进快退)

利用MediaPlayer实现在线音频的播放(支持进度条拖动快进快退)

qq小窝腾讯视频切换进度方法