问题标签 [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.

0 投票
3 回答
10146 浏览

ios - AVQueuePlayer 播放无间隙和冻结

AVQueuePlayer用来播放从 URL 加载的一系列电影。
我试图用AVPlayerItems我需要玩的所有东西的数组来初始化播放器实例。

但在这种情况下,在开始播放之前AVQueuePlayer加载每个的一些初始部分。AVPlayerItem它会导致令人沮丧的冻结,并且应用程序在几秒钟内没有响应。

有可能只将 first 添加AVPLayerItem到播放器的队列中,观察其状态并仅在 first 到达结束时将第二个项目添加到队列中,但在这种情况下,由于 second 的初始化和缓冲而导致两个项目的播放之间存在间隙AVPlayerItem

有什么方法可以在不冻结的情况下组织多个视频的无缝播放?
我应该为此目的使用其他播放器吗?

提前致谢。

0 投票
1 回答
251 浏览

objective-c - 如何在通过 HTTP Live Streaming 播放当前文件时加载下一个文件?

我正在开发一个应用程序,我需要在其中流式传输大量音频文件,每个文件的时间从 5 到 15 秒不等。我想尽可能减少文件之间的加载时间。

主要问题: 有没有办法在当前文件播放最后一段时开始缓冲下一个文件(通过 HLS)?

AVQueuePlayer 在 iOS 端是一个合适的解决方案吗?

非常感谢详细的解释,因为我是 HTTP Live Streaming 和 AV Foundation 的新手。

相关问题:广播应用程序如何在歌曲之间没有延迟的情况下流式传输音频?

0 投票
2 回答
2989 浏览

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

我目前有一个 AVQueuePlayer 依次播放几个 .aif 文件。当它通过每个音频时,我想执行与该特定声音相关的操作(例如更改图像视图的 uiimage)。

我的问题是正确设置 NSNotification。我已将其设置为在队列完成最后一个对象时通知我,但我无法接收到每个当前项目的通知。这是我所拥有的:

我觉得我被 name 参数困住了。我应该把它改成什么?当它切换时,我如何找出当前正在播放的播放器项目的名称?谢谢!

0 投票
1 回答
379 浏览

ios - 使用 avplayeritem 与 doesNotRecognizeSelector 崩溃

我在看起来像是来自 AVPlayerItem 的回调中遇到了崩溃。我这样设置通知:

我以随机方式遇到此崩溃;这意味着大多数时候,代码都有效。但它会不时生成此堆栈跟踪。

线程 0 名称:调度队列:com.apple.main-thread 线程 0 崩溃:

0 投票
2 回答
2540 浏览

ios - 如何循环播放 AVQueuePlayer 中的声音队列?

我知道存在关于同一问题的多个问题,但是在遵循这个建议之后,我遇到了几个问题。

我已经设置好了所有东西,但是每次使用 kMTTimeZero 时都会出现马赫错误。

这就是我所做的。

错误:架构 armv7 的未定义符号:“_kCMTimeZero”,引用自:-[ViewController playerItemDidReachEnd:] in ViewController.o ld:未找到架构 armv7 的符号:错误:链接器命令失败,退出代码为 1(使用 - v 查看调用)

0 投票
1 回答
93 浏览

objective-c - 使用带有 AVQueuePlayer 的 Switch 语句?

我有一个由四个轨道组成的队列。当轨道改变时,我想改变一个 UIImage,关于那个特定的轨道(如果轨道 1 正在播放我想显示一个标题为 1.png 的图像,如果轨道 2 正在播放我想显示 2.png 等) .

我想使用 switch 语句,但我不确定在设置表达式时如何使用它。

0 投票
1 回答
370 浏览

ios - 应用程序图标不会显示在应用程序切换器的音乐控件中

我正在编写一个流式传输音乐的应用程序,并且在设置音乐控制停靠屏幕上的图标时遇到了很多麻烦(当您双击主页按钮并向左滑动时)。所有文档都说要做这样的事情,但图标永远不会出现,我也没有收到事件通知。所有这些代码都在我的播放器视图控制器中。_radioPlayer 是 AVQueuePlayer 的一个实例。我在这里做错了什么?

编辑:我通读了文档并按照步骤操作,但它仍然无法正常工作。以下是我想出的一些可能的原因:

A. 调用 viewDidAppear 时我的音乐还没有播放。在文档中它指出

“您的应用程序必须是“正在播放”应用程序。重申,即使您的应用程序是第一响应者>并且您已打开事件传递,您的应用程序在开始播放音频之前不会接收远程控制事件。”

我试着打电话beginReceivingRemoteControlEvents:becomeFirstResponder:在音乐开始播放后,但这也不起作用。只能调用这些viewDidAppear:吗?iOS 是否会自动检测音乐何时开始播放所以这不是必需的?

B. 使用 AVQueuePlayer 有点奇怪。我几乎可以肯定这不是因为事件消息是由视图控制器处理的,而不是播放器本身。

0 投票
1 回答
145 浏览

ios - 缓冲区为空时处理 AVQueuePlayer

我想知道当缓冲区为空时如何使用 AVQueuePlayer 从服务器播放音频文件。我通过 KVO 接收到的缓冲区是空的,我不确定我应该做什么。当设备连接到低带宽时会发生这种情况。一旦带宽良好,我能否在缓冲区中获取音频数据?

谢谢。

0 投票
3 回答
384 浏览

ios - AVQueuePlayer 音量未更改

我想用UISlider.

currentItem在里面用过AVQueuePlayerps0是一个AVQueuePlayer

当我使用我的时,我没有错误和相同的声级UISlider

已编辑: 我尝试了 Apple 的另一种解决方案来更改音量设置。

正如您在此解决方案中看到的,它创建了一个新的playerItem和一个新的播放器。

但我playerItem是当前的副本,因为我只想更改声音(而不是项目)。它会自动与旧播放器相关联。

当我尝试使用他们的解决方案时。我有一条错误消息说:

一个 AVPlayerItem 不能与多个 AVPlayer 实例关联

有什么建议吗?

再次编辑

使用 AVQueuePlayer 更改播放

我有一个包含每个 mp3 名称“textMissingTab”的数组</p>

我有一个带有 AVPlayerItem “soundItems”的数组</p>

创作:

在里面 :

更改 playItem :文本为 NSString

0 投票
1 回答
234 浏览

mpmusicplayercontroller - AVQueuePlayer 正在暂停,但播放图标不会消失

我正在构建一个使用 AVQueuePlayer 流式传输音频的应用程序。我将我的 AVAudioSession 设置为 AVAudioSessionCategoryPlayback 类别,并且我能够从 remoteControlReceivedWithEvent: 接收事件。但是,当我暂停音频会话时,状态栏中的图标不会消失,App Switcher 中的暂停/播放按钮也不会变为播放。音频暂停,但图标永远不会改变。你知道为什么会发生这种情况吗?

我还使用 MPMusicPlayerController 从 iPod 音乐播放器播放音乐。两个播放器总是被初始化,但是一次只有一个播放器。当应用程序打开时,如果我先从 MPMusicPlayerController 播放某些内容,则 AVQueuePlayer 不再有此暂停冲突。仅当您首先从 AVQueuePlayer 播放时才会出现此问题。我包含了代码来向您展示我在做什么。

仅供参考-我的 MPMusicController 是 self.musicPlayer。我的 AVQueuePlayer 是 self.radioPlayer。暂停后,我的 AVQueuePlayer 的状态是 AVPlayerStatusReadyToPlay。

有任何想法吗?