草庐IT

AVQueuePlayer

全部标签

ios - AVQueuePlayer 寻求问题(至 :) and CMTime

我有一个AVQueuePlayer,我正在尝试在按下按钮时向后搜索5秒。我的代码如下:funcseekBack(){guardletcurrentTime=self.player?.currentTime()else{return}letcurrentTimeSeconds=CMTimeGetSeconds(currentTime)letnewTimeSeconds=max(currentTimeSeconds-5,0)letnewTime=CMTimeMakeWithSeconds(newTimeSeconds,currentTime.timescale)self.player?.s

objective-c - 是否可以使用 presentMoviePlayerViewControllerAnimated 播放多个剪辑?

我有一种情况,我想使用使用presentMoviePlayerViewControllerAnimated显示的MPMoviePlayerViewController连续播放2个视频剪辑。问题是模态视图会在第一部电影播放完毕后自动关闭。有没有人找到办法做到这一点? 最佳答案 三个选项:您可以使用MPMoviePlayerController并在第一个项目完成后开始播放第二个(第N个)项目。然而,这将在视频之间引入一个小间隙,这是由内容的识别和预缓冲引起的。你可以使用AVQueuePlayer;AVQueuePlayer是AVPlay

objective-c - MPMoviePlayerController mp4 文件流

我有几个指向.mp4视频文件的链接,例如文件1.mp4文件2.mp4文件3.mp4我需要将它们作为一个文件在播放器中播放。实际上不一定是“作为一个”文件,播放器必须表现得像一个文件。我最好的猜测是为MPMoviePlayerController创建自定义控件和播放区域,并按时间片划分播放。例如文件1.mp4文件2.mp4文件3.mp4------------|------------|------------这是一个好方法吗?这可以更容易地完成吗?此外,我将从中获取视频的服务器不可自定义,我无法将视频转换为MPEG-2并通过.m3u8文件进行流式传输。提前致谢

ios - 当应用程序处于后台时,是否无法更改 AVPlayer 或 AVQueuePlayer 中的播放器项目

我正在使用AVPlayer来流式传输远程音频文件。当一个项目结束时,我会将一个新项目加载到AVPlayer中,然后再次开始播放。这在iOS9.2的前台和后台都运行良好。随着iOS9.3的发布,这种方法不再有效。我不得不切换到使用AVQueuePlayer以确保当一首歌曲结束时音频将继续播放下一首歌曲。我现在的问题是,我的应用程序中有些场景需要AVQueuePlayer或AVPlayer获取新的URL并将其加载到播放器中,然后开始播放,所有这些都在后台进行。这在iOS9.2中运行良好,但现在在9.3中它就停止工作了。有谁知道为什么它停止工作以及如何解决它?Apple做出这样的更改而不提及

ios - AVPlayer 和框架中的控制按钮

我必须在我的应用中播放一系列视频。我正在使用AVQueuePlayer使用代码播放视频:AVQueuePlayer*queuePlayer=[[AVQueuePlayeralloc]initWithItems:items];AVPlayerLayer*myPlayerLayer=[AVPlayerLayerplayerLayerWithPlayer:queuePlayer];myPlayerLayer.frame=CGRectMake(0,0,320,350);[self.view.layeraddSublayer:myPlayerLayer];[self.queuePlayerpla

ios - 从网络为 AVQueuePlayer/AVPlayer 预加载视频文件

我有一组或多个URL,每个都指向一个mp4视频文件。对于这些视频文件(如Instagram视频),我有一个类似于新闻源的时间线。用户可以上下滚动浏览每个视频。为了加快视频加载速度,我想在用户向下滚动到它们之前预加载接下来的几个视频文件。当用户实际滚动到这些文件时,它将开始播放而无需再次从网络下载。文件将在AVQueuePlayer中播放。有没有办法做到这一点?谢谢大家! 最佳答案 我不知道有什么方法可以让AVQueuePlayer提前缓冲。您可以在AVPlayer和网络之间创建一个代理。这将允许您跟踪AVPlayer已加载的内容,因

ios - 检测 AVQueuePlayer 中的当前项并知道它何时更改?

我目前有一个AVQueuePlayer按顺序播放几个.aif文件。当它通过每个音频时,我想执行与该特定声音相关的操作(例如更改ImageView的uiimage)。我的问题是正确设置NSNotification。我已将其设置为在队列完成最后一个对象时通知我,但我无法接收每个当前项目的通知。这是我所拥有的://SettingUpMyQueueListyellowVoice=[[AVPlayerItemalloc]initWithURL:[NSURLfileURLWithPath:[NSStringstringWithFormat:@"%@/YellowVoice.aif",[[NSBun

iOS: AVQueuePlayer/AVPlayerItem 'An AVPlayerItem can occupy only one position in a player' s queue at a time.'

我一直收到这个错误:'AnAVPlayerItemcanoccupyonlyonepositioninaplayer'squeueatatime.'我对玩家项目进行了NSLog,但似乎没有一个是相等的。此外,我添加这个只是为了确定:if([playercanInsertItem:itemToAddafterItem:nil])[playerinsertItem:itemToAddafterItem:nil];当我不确定这是否可行时(可以在不同的内存位置有两个相同的项目),我编写了一个类别方法来测试玩家是否包含一个项目或与其相同的东西。然而,我仍然遇到错误。我看到很多人在使用MPMovi

ios - 如何在 AVQueuePlayer 或 AVMutableComposition 中播放多个视频而没有任何间隙或卡住?

我知道这个问题过去曾被问过几次,我已经阅读了对这些问题的回复。但似乎没有什么能按我想要的方式工作。有多个视频,所有视频都添加到AVQueuePlayer的队列中。我试过用其他页面提到的两种方式添加:AVPlayerItem*item1=[AVPlayerItemplayerItemWithURL:url1];AVPlayerItem*item2=[AVPlayerItemplayerItemWithURL:url2];NSArray*playerItems=[[NSArrayalloc]initWithObjects:item1,item2,nil];avPlayer=[[AVQueu

iphone - AVQueuePlayer 过早开始下一项

我有一个AVQueuePlayer,并且在特定情况下,它会在上一首歌曲播放完毕之前开始播放下一首歌曲。它不会同时播放它们,它只是提前切出第一首轨道并开始下一首轨道。当两个轨道都是http流时肯定会发生这种情况,我在本地播放文件时没有尝试过。此外,这不会发生在每条轨道上。只有特定的两条轨道放在一起时才会导致问题。大多数轨道没有这个问题,但相当多的轨道有。其他媒体播放器在输入这些轨道时不会出现这些症状。显示症状的轨道必须是AAC编码的,我在流式传输MP3版本时没有这样的问题。AAC文件使用libfaac编码,VBR90%。对轨道进行编码的确切命令行:ffmpeg-loglevelerror