草庐IT

AvPlayer

全部标签

swift - 返回上一个 View Controller 时 AVPlayer 不会停止播放(SWIFT)

我有两个ViewController,一个是TableViewController,我有一个音乐列表,另一个是UIViewController,它显示音乐的详细信息并播放音乐。音乐会在加载View时自动播放,并在按下暂停按钮时暂停。但是,每当我返回到之前的TableViewController以选择另一首音乐时,音乐都会继续播放。如果我选择另一种音乐,它们会一起播放overridefuncviewDidLoad(){super.viewDidLoad()timeLabel.text="00:00"ifletobject=currentObject{audioTitle.text=obj

ios - 多次使用后 AVPlayer 崩溃 - iOS

我正在使用AVPlayer对象在我的应用程序中流式传输超高清视频。它的用法非常简单,但在5~6个流后我遇到了问题。问题应用程序崩溃,调试session关闭,控制台上显示一条消息:Messagefromdebugger:Terminatedduetomemoryissue每次在iPhone6上观看4或5个视频,在iPhone7上观看7或8个视频后,都会发生这种情况。我尝试过的因为调试session在我的应用程序崩溃时结束,所以我无法准确看到崩溃发生时的内存使用情况。然而,在它崩溃之前,调试session告诉我2.5%的RAM用于应用程序,即使在4个流之后也是如此。没那么多!我使用Inst

ios - 带有可视化工具的 AVPlayer

我需要为流式URL(m3u8格式)创建一个音频播放器。我使用AVPlayer创建了音乐播放器。但我需要显示流媒体歌曲的可视化工具。我尝试了不同的解决方案,但没有找到任何可行的示例。我已经使用AVAudioPlayer(averagePower)创建了可视化工具,但它不支持流式URL。对显示AVPlayer的可视化工具有帮助吗?提前致谢。我也尝试过使用大多数人建议的MYAudioTapProcessor,但对于流式URL,tracks总是返回null。在项目中添加了MYAudioTapProcessor.h和MYAudioTapProcessor.m//Initializationofp

ios - 使用 avplayer 播放 AES 加密的 hls 流 - ios swift

我正在尝试在AVPlayer中播放AES加密流。通常,key链接会传送到M3U8播放列表中的播放器。在我的场景中,key被分成两半。前半部分已传送通过服务器,我应该将另一半附加到应用程序中以在播放时解密我已经在Android上完成了这个,有没有办法在iOS上也这样做?这是播放列表:#EXTM3U#EXT-X-VERSION:3#EXT-X-STREAM-INF:BANDWIDTH=200000,RESOLUTION=284x160chunklist_w670540365_b200000.m3u8?t=57b5b16d3824d#EXT-X-STREAM-INF:BANDWIDTH=85

swift - 直播流中的 AVPlayer 音频缓冲

我正在制作一个使用AVPlayer(单个播放/暂停按钮)流式传输实时音频的应用程序。应用程序工作正常,但是由于这是实时音频,如果出现轻微的网络问题,音频会停止并且播放器不会继续播放,即使按下播放/暂停按钮。恢复应用程序的唯一方法是终止它并每次重启。有人可以建议AVPlayer的任何东西或替代品,或者我如何缓冲音频以便在连接丢失时播放器会同时缓冲它?我是IOS编程的新手。赞赏 最佳答案 我遇到了同样的问题。答案是创建一个错误委托(delegate),每次播放器停止时都会启动一个选择器(当网络连接中断或流未正确加载时,错误会发生变化):

ios - 将 AVPlayerItem 与 Swift 中的新 AVPlayer 相关联?

如何在Swift中将AVPlayerItem的实例与新的AVPlayer重新关联?在初始化程序中使用时。每次我尝试将AVPlayerItem重新分配给不同的AVPlayer时,即使我已将所有对AVPlayer的引用设置为nil(所以它应该被垃圾收集),它提示说AVPlayerItem不能分配给超过1个AVPlayer对象。我了解一些绕过它的方法,但我想知道为什么这种方法不起作用。letplayer:AVPlayer=AVPlayer(playerItem:somePlayerItem)我不知道在这个声明过程中发生了什么,但是某处的某些东西被设置为允许somePlayerItem知道它有

swift - 使用 AVPlayer swift 完成后再次播放音频

如何在完成后再次播放相同的音频?现在我将这段代码与AVPlayer一起使用:fileprivatefuncplay(){guardleturl=URL(string:record.recordUrl)else{return}letplayItem=AVPlayerItem(url:url)player.replaceCurrentItem(with:playItem)NotificationCenter.default.addObserver(self,selector:#selector(playerDidFinishPlaying),name:NSNotification.Name

ios - 使用avplayer播放音频时如何将音频缓存到本地

我用AVPlayer在线播放音频,想在avplayer加载完流后将音频数据/流保存到本地。我是这样实现的:letfileUrl=NSURL(string:strUrl)!letasset=AVURLAsset(URL:fileUrl)asset.resourceLoader.setDelegate(self,queue:dispatch_queue_create("AVARLDelegateDemoloader",nil))self.pendingRequests=[AVAssetResourceLoadingRequest]()asset.loadValuesAsynchronous

ios - 使用 AVPlayer 在后台播放视频会出现 AspectFill 和循环问题

这是我所拥有的,我希望这个视频填满整个屏幕(aspectFill)playerLayer.videoGravity=kCAGravityResizeAspectFill应该进行纵横比填充,但屏幕顶部和底部仍然出现黑条。最后一行本应循环播放视频,但它只是变暗并停止播放。如有任何建议,我们将不胜感激。varmoviePlayer:AVPlayer!overridefuncviewDidLoad(){super.viewDidLoad()//Loadthevideofromtheappbundle.letvideoURL:NSURL=NSBundle.mainBundle().URLForR

ios - 如何在avplayer中播放rtmp链接?

我正在尝试在avplayer中播放rtmp链接。但是它没有播放。我应该怎么办?self.avAsset=AVAsset(URL:NSURL(string:rtmpUrlString)!)谢谢。 最佳答案 AVPlayer不支持RTMP流。在iOS设备上播放RTMP流的最简单方法是通过VLCKit播放。.添加pod'MobileVLCKit-unstable','3.0.0a23'到你的播客文件。运行podinstall安装它。添加#import在你的桥接头文件中使这个框架在Swift中可用在您的ViewController中启动VL