我正在使用此代码使用avplayer播放视频文件如何停止
[videoView setHidden:NO];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path2 = [documentsDirectory stringByAppendingPathComponent:saveFileName];
NSURL *url1 = [[NSURL alloc] initFileURLWithPath: path2];
videoPlayer = [AVPlayer playerWithURL:url1] ;
self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:videoPlayer];
//[self willAnimateRotationToInterfaceOrientation];
avPlayerLayer.frame = videoView.bounds;
[self.videoView.layer addSublayer: avPlayerLayer];
[self.videoPlayer play];
我试过这个不起作用
//[self.videoPlayer release];
答案 0 :(得分:54)
AVPlayer没有名为stop
的方法。您可以pause
或将rate
设置为0.0。
答案 1 :(得分:26)
我通常搜索到时间0.0,然后暂停。它与我完美配合。 :)
[self.videoPlayer seekToTime:CMTimeMake(0, 1)];
[self.videoPlayer pause];
答案 2 :(得分:18)
您可以暂停并将AVPlayer对象值设置为nil。
在你的代码中你可以使用它:
[self.videoPlayer pause];
[self.avPlayerLayer removeFromSuperlayer];
self.videoPlayer = nil;
答案 3 :(得分:15)
如果你不想将av播放器设置为nil,那么更好的方法可能是:
videoPlayer.replaceCurrentItemWithPlayerItem(nil)
答案 4 :(得分:5)
我们有快速的协议扩展-高兴。
extension AVPlayer {
func stop(){
self.seek(to: CMTime.zero)
self.pause()
}
}