草庐IT

AvPlayer

全部标签

ios - AVPlayer 停止播放并且不会再次恢复

在我的应用程序中,我必须播放存储在网络服务器上的音频文件。我正在为此使用AVPlayer。我拥有所有播放/暂停控件以及那里的所有代表和观察员,它们工作得很好。在播放小音频文件时,一切都很好。当播放一个长音频文件时,它也开始正常播放,但几秒钟后AVPlayer暂停播放(很可能是为了缓冲)。问题是它不会再次自行恢复。它保持暂停状态,如果我再次手动按下播放按钮,它会再次流畅播放。我想知道为什么AVPlayer没有自动恢复,我如何在用户再次按下播放按钮的情况下再次恢复音频?谢谢。 最佳答案 是的,它停止是因为缓冲区是空的,所以它必须等待加载

ios - 从 AVPlayer 对象访问 URL?

有没有办法从已使用URL初始化的AVPlayer对象访问URL,如:NSURL*url=[NSURLURLWithString:@"http://www.example.org/audio"];self.player=[AVPlayerplayerWithURL:url]; 最佳答案 安AVPlayer播放AVPlayerItem.AVPlayerItems由类AVAsset的对象支持.当您使用playerWithURL:AVPlayer的方法|它会自动创建AVPlayerItem由AVAsset的子类Assets支持名为AVURL

ios - AVPlayer "freezes"开始缓冲音频流的应用程序

我正在使用AVQueuePlayer的子类,当我添加带有流式URL的新AVPlayerItem时,应用会卡住大约一两秒。卡住是指它不响应用户界面上的触摸。此外,如果我已经播放了一首歌曲,然后将另一首歌曲添加到队列中,AVQueuePlayer会在播放第一首歌曲时自动开始预加载歌曲。这使得应用程序在两秒钟内不响应UI上的触摸,就像添加第一首歌曲但歌曲仍在播放时一样。所以这意味着AVQueuePlayer正在主线程中执行某些导致明显“卡住”的操作。我正在使用insertItem:afterItem:添加我的AVPlayerItem。我测试并确保这是导致延迟的方法。也许这可能是AVPlaye

ios - 使用 AVPlayer 时保持良好的滚动性能

我正在开发一个应用程序,其中有一个CollectionView,CollectionView的单元格可以包含视频。现在我正在使用AVPlayer和AVPlayerLayer显示视频。不幸的是,滚动性能很糟糕。似乎AVPlayer、AVPlayerItem和AVPlayerLayer在主线程上做了很多工作。他们不断地取出锁、等待信号量等,这会阻塞主线程并导致严重的帧丢失。有没有办法告诉AVPlayer停止在主线程上做这么多事情?到目前为止,我尝试过的任何事情都无法解决问题。我还尝试使用AVSampleBufferDisplayLayer构建一个简单的视频播放器。使用它我可以确保一切都发生

ios - AVPlayer如何获取当前播放时间和总播放时间?

AVPlayer可以获取播放时间和总播放时间吗?如果是,我该怎么做? 最佳答案 您可以使用currentItem属性访问当前播放的项目:AVPlayerItem*currentItem=yourAVPlayer.currentItem;然后就可以轻松获取请求的时间值CMTimeduration=currentItem.duration;//totaltimeCMTimecurrentTime=currentItem.currentTime;//playingtime 关于ios-AVPl

ios - AVPlayer 和 MPMoviePlayerController 的区别

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我正在开发一个需要播放视频的iPhone应用程序。到目前为止,我了解到至少有两个API可以实现这一点;AVPlayer和MPMoviePlayerController。主要区别是什么?

ios - 使用 AVPlayer 播放流媒体视频

如何使用AVPlayer播放流媒体视频?importCocoaimportAVKitclassStreamViewController:NSViewController{varvideoPlayer:AVPlayer!@IBOutletweakvarmoviePlayerView:AVPlayerView!overridefuncviewDidLoad(){super.viewDidLoad()}overridefuncviewWillAppear(){super.viewWillAppear()}overridefuncviewDidAppear(){super.viewDidApp

ios - 如何检测 AVplayer 并从 WKWebView 获取当前视频的 url?

我正在使用下面的代码从UIWebView中提取url:它工作正常但是,用于WKWebView的相同代码不再工作了。谁能帮我?在WKWebView中播放的视频是Inlineplacyback而不是全屏。我的代码是:NotificationCenter.default.addObserver(self,selector:#selector(self.playerItemBecameCurrent(_:)),name:NSNotification.Name("AVPlayerItemBecameCurrentNotification"),object:nil)@objcfuncplayerI

ios - 如何在 Swift 2/AVPlayer 中恢复背景音频?

我正在学习Swift作为我的第一门编程语言。在中断(例如通话)后,我一直在努力恢复后台音频播放应该发生什么:当应用进入后台时音频继续播放(有效)当被来电打断时,获取打断开始的通知(作品)通话结束时,获取中断通知结束(作品)继续播放音频(不起作用-什么也听不到)非常感谢任何帮助!谢谢注意事项:该应用已注册背景音频并在中断前正常播放我试过有和没有时间延迟来恢复播放——都没有用代码:importUIKitimportAVFoundationvarplayer:AVQueuePlayer!classViewController:UIViewController{overridefuncview

ios - AVPlayer - 使用单独的音频 URL 播放网络视频,无需先下载文件

我目前正在尝试使用AVPlayer播放视频,它具有单独的视频和音频源,因此我将它们组合成一个AVPlayerItem,如下所示:letvideoAsset=AVURLAsset(url:videoURL)letaudioAsset=AVURLAsset(url:audioURL)letduration=videoAsset.durationletcomposition=AVMutableComposition()letvideoTrack=composition.addMutableTrack(withMediaType:AVMediaType.video,preferredTrack