问题标签 [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.
iphone - 在 iphone 的 AVQueuePlayer 中设置寻道时间
我正在开发一个应用程序,我想同时播放两个视频,这是不可能的MPMoviePlayer
。所以我习惯AVQueuePlayer
了播放视频。由于我成功播放视频,但问题在于跳到特定时间。为此,我们有方法调用seekToTime
,我们需要CMTime datatype
.
我能够在 1、2、3 秒等时间跳转,我的问题是我想在 1.2、1.3、1.4 秒等时间跳转,但当时我无法移动视频。
谁能知道这个问题的解决方案,而不是请帮我解决这个问题。
iphone - 在 AVQueuePlayer 中寻找时间
任何人都可以帮助我在特定时间寻找AVQueuePlayer
吗?
我已经使用这个控制器在 iPhone 中播放视频,因为我需要同时播放两个视频。但我的问题是在视频中导航并跳转到特定时间,我无法做到这一点。
我知道这种方法,[controller seekToTime:(CMTime)]
但它没有将视频移动到视频的确切位置。
有谁知道解决方案?
iphone - 使用 AVQueuePlayer 循环单个 playerItem
我正在使用下面的代码循环playerItem
一个AVQueuePlayer
:
它在模拟器上工作正常,即使仪器表明泄漏类似于AudioToolbox SimAggregateDevice::SimAggregateDevice(__CFString const*, __CFString const*, long&)
,人们说这只是一些“帧泄漏”,在设备上会很好,但是当我在设备上运行它时,仪器没有显示泄漏,而是崩溃......我想念什么吗?感谢是否有人可以帮助我。
有时 playerItem 会在线流文件,所以不能使用AVAudioPlayer
。
最后,我发现是因为_playerItemFilePath
. 已经不存在了,需要保留NSString
return by NSBundle's
method 。pathForResource
但我仍然想知道为什么它可以在模拟器上运行。毕竟泄漏audioToolbox
也是固定的,所以任何人遇到有人提到的“框架泄漏”可能需要再次查看代码。它会因为一些小错误而出现。
iphone - 设置 AVQueuePlayer 的音量
我已经使用 AVQueuePlayer 同时播放两个视频,现在我的应用程序出现了一些问题。我想在播放视频时将其静音。但是没有找到设置音量的方法。
谁能帮我在 AVQueuePlayer 中设置音量。
提前致谢
iphone - 使用 AVQueuePlayer 强制/尊重 PlayItem 之间的所需间隙
大家好,我AVQueuePlayer
用来播放一系列媒体文件(音频、视频)。我有时会PlayItems
比我需要的持续时间短,即我希望某些项目之间保持沉默。我一直在考虑尝试使用某种组合addPeriodicTimeObserverForInterval
addBoundaryTimeObserverForTimes
或运行我自己的NSTimer
.
它不需要非常准确 + 或 - 1 秒是可以接受的。我想知道是否有任何关于使用这些 API 调用来实现这种功能的集体智慧?
ios - 控制 avqueueplayer 中项目的预缓冲
请有人告诉我是否有一种方法可以选择性地预缓冲AVQueuePlayer
数组中的 avplayeritems,而不是将其保留AVQueuePlayer
为仅在第一个项目完成播放时才加载下一个项目的自动方式。
我正在加载一系列 4 个短片剪辑,我想在告诉AVQueuePlayer
播放数组之前预先缓存它们。实际上有没有一种方法可以深入 avqueueplayer 并根据需要控制预缓冲?
现在,凭借其默认的延迟加载行为,我在播放中遇到了一些问题,剪辑甚至无法正常播放,因为它AVQueuePlayer
正在尝试在播放时加载下一个剪辑。我在部署到实际设备的 iPad 上执行此操作,而不是使用模拟器。
您可以通过调用 mpmovieplayer 来执行此操作,[player prepareToPlay];
它基本上手动启动您想要的每个视频文件的加载,然后您可以通过观察mpmovieplayerLoadstateDidChange
通知并测试loadState
值以查看它是否已完全加载来检查加载是否完成,然后告诉mpmovieplayer 播放。你怎么能有效地做类似的事情AVQueuePlayer
呢?
这甚至是可能的还是我发现了它的主要缺点之一AVQueuePlayer
?
斯蒂芬的好建议playerObserver
,但需要的是你需要能够明确地将单个项目加载到内存中,然后告诉AVQueuePlayer
'不要播放数组中的第一个项目,直到数组中的所有项目都加载到memory' 目前似乎没有办法开始加载数组中的第二个项目,直到第一个项目即将结束!
作为一个稍微独立的问题,我还注意到AVQueuePlayer
,如果AVPlayerItems
在播放数组一直播放,剪辑第一次播放正常,但是当再次播放同一剪辑(作为单独的AVPlayerItem
)时,它会非常快速地播放,直到视频中的某个点最后开始以正常速度播放从那里。
有没有其他人注意到这种行为?
iphone - 使用 AVPlayer 播放时如何开始下一首歌曲或识别歌曲已完成?
如何使用 AVPlayer 立即开始下一首歌曲?我有从 iPod 库中选择的歌曲集MPMediaItemCollection
。
现在我如何使用 AVPlayer 来一一播放歌曲列表?
ios - AVPlayer 在缓冲音频流开始时“冻结”应用程序
我正在使用一个子类,AVQueuePlayer
当我添加新AVPlayerItem
的流式 URL 时,应用程序会冻结大约一两秒。冻结我的意思是它不响应用户界面上的触摸。此外,如果我已经播放了一首歌曲,然后将另一首歌曲添加到队列中,AVQueuePlayer
则会在歌曲仍在播放第一首歌曲时自动开始预加载歌曲。这使得应用程序在两秒钟内不会响应 UI 上的触摸,就像添加第一首歌曲但歌曲仍在播放时一样。所以这意味着AVQueuePlayer
在主线程中做一些导致明显“冻结”的事情。
我insertItem:afterItem:
用来添加我的AVPlayerItem
. 我测试并确保这是导致延迟的方法。也许它可能是在将其添加到队列AVPlayerItem
时被激活时所做的事情。AVQueuePlayer
必须指出,我正在使用 Dropbox API v1 beta 通过使用此方法调用来获取流 URL:
然后,当我收到流 URL 时,我将其发送到AVQueuePlayer
如下:
所以我的问题是:我该如何避免这种情况?我应该在没有帮助的情况下自行预加载音频流AVPlayer
吗?如果是这样,我该怎么做?
谢谢。
ios - 从音频流中获取元数据
我想从我正在使用 AVQueuePlayer 播放的 AVPlayerItem 中的流 URL 中获取文件名和专辑图像,但我不知道该怎么做。
此外,如果事实证明我的流式 URL 没有任何元数据,我可以在将元数据NSURL*
传递给 AVPlayerItem 之前将元数据放入其中吗?
谢谢。
objective-c - AVQueuePlayer 在 iOS5 后台播放多个音轨
我使用 AVQueuePlayer 在后台播放多个项目。并且代码在 iOS4 中运行完美。并且在 iOS5 中 AVQueuePlayer 改变了它的行为,所以播放器在第一个项目结束后停止播放。
Matt Gallagher 在这篇文章中写了一个提示。“从 iOS 5 开始,AVQueuePlayer 似乎不再预缓冲。它确实预缓冲了 iOS 4 中的下一个曲目。”
所以我的问题是如何在 iOS5 中使用 AVPlayer 或 AVQueuePlayer 在后台播放多个项目。