0

AVPlayerItemこのプロパティを持っていますforwardPlaybackEndTime

この値は、再生レートが正の場合に再生を終了する時間を示します (AVPlayer の rate プロパティを参照してください)。

デフォルト値は kCMTimeInvalid で、順方向再生の終了時間が指定されていないことを示します。この場合、順方向再生の有効な終了時間はアイテムの継続時間です。

しかし、なぜうまくいかないのかわかりません。、duration available callbackで設定しようとしましたAVPlayerItemStatusReadyToPlayが、効果はなく、最後まで再生されるだけです

forwardPlaybackEndTime再生ヘッドを制限するために使用されると思いますよね?自分のアプリで動画の最初から半分だけ再生したい

私のコードは次のようになります

- (void)playURL:(NSURL *)URL
{
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:URL];

    if (self.avPlayer) {
        if (self.avPlayer.currentItem && self.avPlayer.currentItem != playerItem) {
            [self.avPlayer replaceCurrentItemWithPlayerItem:playerItem];
        }
    } else {
        [self setupAVPlayerWithPlayerItem:playerItem];
    }

    playerItem.forwardPlaybackEndTime = CMTimeMake(5, 1);

    // Play
    [self.avPlayer play];
}

どのようにforwardPlaybackEndTime仕事をするのですか?

4

4 に答える 4

0

更新する必要があると思いますavPlayer's current playerItem

そう、

 playerItem.forwardPlaybackEndTime = CMTimeMake(5, 1);

そのはず:

 self.avPlayer.currentItem.forwardPlaybackEndTime = CMTimeMake(5, 1);
于 2015-02-23T13:57:33.430 に答える
0

以下のコードを確認しましたが、指定した時間に実行とストリーミングが停止します。

- (void)playURL
{

NSURL *url = [NSURL URLWithString:@"http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"];

self.playerItem = [AVPlayerItem playerItemWithURL:url];

self.playerItem.forwardPlaybackEndTime = CMTimeMake(10, 1);

self.avPlayer = [AVPlayer playerWithPlayerItem:self.playerItem];

[videoView setPlayer:self.avPlayer];

// Play
[self.avPlayer play];
}

これがお役に立てば幸いです。

また、次のチュートリアルも確認してください: AVFoundation フレームワーク

于 2014-09-09T09:49:39.910 に答える