5

私は自分のアプリケーションでseekToTimeを使用し、それが正しく機能しています。しかし、私はそれについてもう少し情報が欲しいです。つまり、1分のストリーミングビデオファイルがある場合、15秒から45秒まで再生したいと思います(最初の15秒と最後の15秒は再生されません)。

どうすればいいですか?

seekToTimeを使用すると、15秒からビデオを再生できることは知っていますが、45秒で停止し、指定された期間にビデオが再生された方法に気付くにはどうすればよいですか?

CMTime timer = CMTimeMake(15, 1);
[player seekToTime:timer];

上記のコードはストリーミングファイルの15秒に移動しますが、45秒で停止して通知を受け取る方法はありますか?

たくさん検索しましたが、情報が得られませんでした。

ありがとう

編集:

@codeghostが提案したように、単に。を使用しますforwardPlaybackEndTime

あなたは単に使うことができます:

yourAVPlayerItem.forwardPlaybackEndTime = CMTimeMake(10, 1);

ここで、10はAVPlayerItemが再生されるまでの時間です。

4

3 に答える 3

6

forwardPlaybackEndTimeAVPlayerItemにプロパティを設定します。

于 2012-05-16T08:57:07.843 に答える
0

にこれに組み込まれているものがあるかどうかはわかりませんがAVPlayer、関数を作成して次のように呼び出すことです。

[self performSelector:@selector(stopPlaying) withObject:nil afterDelay:45];


-(void)stopPlaying{
   [player pause];
}

これは45秒後に再生を停止します。もちろん、代わりに45秒を好きなだけ置くことができます。

于 2012-05-16T09:50:06.087 に答える
0

あなたは[AVPlayer addPeriodicTimeObserverForInterval:queue:usingBlock:]その目的のために使うことができます。

定期的に取得AVPlayer.currentTimeし、正確な時間に一時停止または停止を呼び出します。

于 2013-05-03T08:39:35.113 に答える