0

播放电影时,我想使用 AVInterstitialTimeRange 显示一些广告。播放电影时,我能够在进度条上创建“点”,但我如何实际展示广告?

到目前为止,这是我展示广告的代码。

 NSArray *adBreaks = result.adBreaks;

  _player.player.currentItem.interstitialTimeRanges = adBreaks;
  NSMutableArray *adBreaksCMTime = [[NSMutableArray alloc]init];
  for(AdBreak *brk in adBreaks) {
  CMTime seekingCM = CMTimeMake([brk adBreakTime], 1);
  CMTime durationCM = CMTimeMake([brk adBreakDuration], 1);

  AVInterstitialTimeRange *adTimeRange = [[AVInterstitialTimeRange alloc]initWithTimeRange:CMTimeRangeMake(seekingCM, durationCM)];
                    [adBreaksCMTime addObject:adTimeRange];
                }
 _player.player.currentItem.interstitialTimeRanges = adBreaksCMTime;
4

1 回答 1

0

Quoth the docs(强调添加):

AVInterstitialTimeRange对象将视听演示中的时间范围标识为间隙内容,例如广告或法律声明。通过将插页式时间范围与AVPlayerItem您在类中呈现的对象相关联AVPlayerViewController,您可以自定义或限制插页式内容的呈现。例如,您可以允许用户轻松跳过广告或禁止跳过法律声明。

翻译:您不使用此 API 来展示广告。您将广告作为与您的内容相同的媒体流的一部分展示,或者可能通过一个播放的多个来源的组合来展示AVPlayerItem

如果,一旦您已经呈现了插页式内容,您希望在 UI 中清楚地标记与此类内容对应的时间范围(以便于跳过或禁止跳过),您可以使用AVInterstitialTimeRange标记它们。

于 2016-03-29T18:29:47.650 回答