AVPlayer Stream状态

时间:2012-03-28 15:10:07

标签: iphone objective-c

我使用这种方法用AVPlayer播放视频:

        audioPlayer = [[AVPlayer playerWithURL:[NSURL URLWithString:url]] retain];
        avPlayerLayer = [[AVPlayerLayer playerLayerWithPlayer:audioPlayer] retain];
        [avPlayerLayer setFrame:self.view.bounds];

        [audioPlayer play];

我搜索了一种在流程中每次都获得通知的方法(例如1%,10%,25%,50%,60%......),我可以从中得到这样的信息吗? AVPlayer ??

1 个答案:

答案 0 :(得分:1)

看一下文档,你需要实现这个方法:

http://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayer/addPeriodicTimeObserverForInterval:queue:usingBlock

一个例子:

[mPlayer addPeriodicTimeObserverForInterval:CMTimeMake(1, 1)
         queue:NULL
         usingBlock:^(CMTime time){
             NSLog(@"%lld %d ",mPlayer.currentTime.value,mPlayer.currentTime.timescale);
         }
];

要获得您可以执行的视频的总时间:

mPlayer.currentItem.duration

您也可以从项目中获取当前时间:

mPlayer.currentItem.currentTime

修改

看看CurrentItem reference

你可能想要一些方法,如:

loadedTimeRanges