问题标签 [avqueueplayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - AVQueuePlayer 播放无间隙和冻结
我AVQueuePlayer
用来播放从 URL 加载的一系列电影。
我试图用AVPlayerItems
我需要玩的所有东西的数组来初始化播放器实例。
但在这种情况下,在开始播放之前AVQueuePlayer
加载每个的一些初始部分。AVPlayerItem
它会导致令人沮丧的冻结,并且应用程序在几秒钟内没有响应。
有可能只将 first 添加AVPLayerItem
到播放器的队列中,观察其状态并仅在 first 到达结束时将第二个项目添加到队列中,但在这种情况下,由于 second 的初始化和缓冲而导致两个项目的播放之间存在间隙AVPlayerItem
。
有什么方法可以在不冻结的情况下组织多个视频的无缝播放?
我应该为此目的使用其他播放器吗?
提前致谢。
objective-c - 如何在通过 HTTP Live Streaming 播放当前文件时加载下一个文件?
我正在开发一个应用程序,我需要在其中流式传输大量音频文件,每个文件的时间从 5 到 15 秒不等。我想尽可能减少文件之间的加载时间。
主要问题: 有没有办法在当前文件播放最后一段时开始缓冲下一个文件(通过 HLS)?
AVQueuePlayer 在 iOS 端是一个合适的解决方案吗?
非常感谢详细的解释,因为我是 HTTP Live Streaming 和 AV Foundation 的新手。
相关问题:广播应用程序如何在歌曲之间没有延迟的情况下流式传输音频?
ios - 检测 AVQueuePlayer 中的当前项目并知道它何时更改?
我目前有一个 AVQueuePlayer 依次播放几个 .aif 文件。当它通过每个音频时,我想执行与该特定声音相关的操作(例如更改图像视图的 uiimage)。
我的问题是正确设置 NSNotification。我已将其设置为在队列完成最后一个对象时通知我,但我无法接收到每个当前项目的通知。这是我所拥有的:
我觉得我被 name 参数困住了。我应该把它改成什么?当它切换时,我如何找出当前正在播放的播放器项目的名称?谢谢!
ios - 使用 avplayeritem 与 doesNotRecognizeSelector 崩溃
我在看起来像是来自 AVPlayerItem 的回调中遇到了崩溃。我这样设置通知:
我以随机方式遇到此崩溃;这意味着大多数时候,代码都有效。但它会不时生成此堆栈跟踪。
线程 0 名称:调度队列:com.apple.main-thread 线程 0 崩溃:
ios - 如何循环播放 AVQueuePlayer 中的声音队列?
我知道存在关于同一问题的多个问题,但是在遵循这个建议之后,我遇到了几个问题。
我已经设置好了所有东西,但是每次使用 kMTTimeZero 时都会出现马赫错误。
这就是我所做的。
错误:架构 armv7 的未定义符号:“_kCMTimeZero”,引用自:-[ViewController playerItemDidReachEnd:] in ViewController.o ld:未找到架构 armv7 的符号:错误:链接器命令失败,退出代码为 1(使用 - v 查看调用)
objective-c - 使用带有 AVQueuePlayer 的 Switch 语句?
我有一个由四个轨道组成的队列。当轨道改变时,我想改变一个 UIImage,关于那个特定的轨道(如果轨道 1 正在播放我想显示一个标题为 1.png 的图像,如果轨道 2 正在播放我想显示 2.png 等) .
我想使用 switch 语句,但我不确定在设置表达式时如何使用它。
ios - 应用程序图标不会显示在应用程序切换器的音乐控件中
我正在编写一个流式传输音乐的应用程序,并且在设置音乐控制停靠屏幕上的图标时遇到了很多麻烦(当您双击主页按钮并向左滑动时)。所有文档都说要做这样的事情,但图标永远不会出现,我也没有收到事件通知。所有这些代码都在我的播放器视图控制器中。_radioPlayer 是 AVQueuePlayer 的一个实例。我在这里做错了什么?
编辑:我通读了文档并按照步骤操作,但它仍然无法正常工作。以下是我想出的一些可能的原因:
A. 调用 viewDidAppear 时我的音乐还没有播放。在文档中它指出
“您的应用程序必须是“正在播放”应用程序。重申,即使您的应用程序是第一响应者>并且您已打开事件传递,您的应用程序在开始播放音频之前不会接收远程控制事件。”
我试着打电话beginReceivingRemoteControlEvents:
,becomeFirstResponder:
在音乐开始播放后,但这也不起作用。只能调用这些viewDidAppear:
吗?iOS 是否会自动检测音乐何时开始播放所以这不是必需的?
B. 使用 AVQueuePlayer 有点奇怪。我几乎可以肯定这不是因为事件消息是由视图控制器处理的,而不是播放器本身。
ios - 缓冲区为空时处理 AVQueuePlayer
我想知道当缓冲区为空时如何使用 AVQueuePlayer 从服务器播放音频文件。我通过 KVO 接收到的缓冲区是空的,我不确定我应该做什么。当设备连接到低带宽时会发生这种情况。一旦带宽良好,我能否在缓冲区中获取音频数据?
谢谢。
ios - AVQueuePlayer 音量未更改
我想用UISlider
.
我currentItem
在里面用过AVQueuePlayer
。
ps0
是一个AVQueuePlayer
。
当我使用我的时,我没有错误和相同的声级UISlider
:
已编辑: 我尝试了 Apple 的另一种解决方案来更改音量设置。
正如您在此解决方案中看到的,它创建了一个新的playerItem
和一个新的播放器。
但我playerItem
是当前的副本,因为我只想更改声音(而不是项目)。它会自动与旧播放器相关联。
当我尝试使用他们的解决方案时。我有一条错误消息说:
一个 AVPlayerItem 不能与多个 AVPlayer 实例关联
有什么建议吗?
再次编辑
使用 AVQueuePlayer 更改播放
我有一个包含每个 mp3 名称“textMissingTab”的数组</p>
我有一个带有 AVPlayerItem “soundItems”的数组</p>
创作:
在里面 :
更改 playItem :文本为 NSString
mpmusicplayercontroller - AVQueuePlayer 正在暂停,但播放图标不会消失
我正在构建一个使用 AVQueuePlayer 流式传输音频的应用程序。我将我的 AVAudioSession 设置为 AVAudioSessionCategoryPlayback 类别,并且我能够从 remoteControlReceivedWithEvent: 接收事件。但是,当我暂停音频会话时,状态栏中的图标不会消失,App Switcher 中的暂停/播放按钮也不会变为播放。音频暂停,但图标永远不会改变。你知道为什么会发生这种情况吗?
我还使用 MPMusicPlayerController 从 iPod 音乐播放器播放音乐。两个播放器总是被初始化,但是一次只有一个播放器。当应用程序打开时,如果我先从 MPMusicPlayerController 播放某些内容,则 AVQueuePlayer 不再有此暂停冲突。仅当您首先从 AVQueuePlayer 播放时才会出现此问题。我包含了代码来向您展示我在做什么。
仅供参考-我的 MPMusicController 是 self.musicPlayer。我的 AVQueuePlayer 是 self.radioPlayer。暂停后,我的 AVQueuePlayer 的状态是 AVPlayerStatusReadyToPlay。
有任何想法吗?