问题标签 [avplayeritem]
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 - AVPlayerItemDidPlayToEndTimeNotification 仅在强制时有效
我一直在到处寻找,但仍然找不到解决此问题的方法。我有一个AVQueuePlayer
我正在制作的广播应用程序。它AVPlayerItems
一次大约有20个排队。我将AVPlayerItemDidPlayToEndTimeNotification
观察者添加到这些项目中的每一项。通知被触发并执行代码以删除元数据和状态的关键观察者,因此它不会崩溃并前进到队列中的下一个项目。然而它不想玩。没有报错,状态已经准备好播放,AVPlayer
网址加载完美。如果我单击按钮来调用AdvanceNextitem,它可以完美运行并且也可以完美播放。现在最奇怪的是:如果我手动发布通知,通知代码可以完美运行。我将不胜感激任何帮助或输入,因为我一直在尝试一切以使其正常工作。
}
}
}
现在,如果我称这一切都可以通过按钮或其他东西完美运行:
objective-c - 清除 AVPlayer 缓存
1) 我正在从服务器播放播放器上的视频。每次在应用上播放视频都会增加应用内存。因此,如果我观看视频 10 次,则应用内存中的视频大小会增加 10 倍。我为此使用 AVPlayer。
2) 停止流式传输 - 假设我开始观看视频并在几秒钟后停止。我注意到即使在我停止视频后,整个视频也会被下载。我取消了加载 AVAsset,清除了 AVPlayer 和 AVPlayerItem。它仍然在后台流动。
ios - avplayitem 总是处于未知状态
刚刚发现一个很奇怪的问题,
从本地存储加载 mp3 文件时,
avplayitem 总是处于未知状态,如果文件放在文件夹中,则无法播放。
方式1:
方式2:
输出:
但是如果 mp3 文件在应用程序包中,way2 代码运行良好,即使状态仍然未知,
我确定 app bundle &document 中的文件是同一个文件,它可以在任何其他软件中播放,
通过使用方式 2,捆绑文件和文档文件之间的唯一区别是,
如果 mp3 文件放在 bundle 中,这个函数可以返回元数据
但使用文档 url 返回 nil
ios - iOS:收到“304 Not Modified”响应时 AVPlayerItem 中的错误
这是一个非常奇怪的错误。
我有一个 tableView,每个单元格都使用一个AVPlayer
从远程服务器流式传输视频(想想类似 Vine 的时间轴)。因此,当我滚动时,被重复使用的单元格会使用新视频重新配置其播放器。
问题是:如果我非常快速地来回滚动,让相同的视频进出屏幕,AVPlayer 发送的请求最终会发生变化,包括 HTTP 标头If-None-Match
和If-Modified-Since
,其余时间都不存在。它系统地使服务器返回304 Not Modified
响应。
这似乎不喜欢 AVPlayer 的 playerItem,它将其状态更改为AVPlayerItemStatusFailed
(有趣的是,AVPlayer 的状态仍然是AVPlayerStatusReadyToPlay
)。错误是AVErrorUnknown
(-11800) 和 OSStatus -12983 (在任何地方都没有记录,并且在整个 iOS SDK 中没有标题)。
那是它变得奇怪的时候:无论我接下来做什么,AVPlayer 和它的 playerItem 都被不可撤销地烧毁了。即使我用其他资产重新配置它们,它们也只会返回此状态并显示黑框。更奇怪的是:即使我初始化了另一个 AVPlayer、AVPlayerItem和AVAsset,它也不会再播放了,我必须杀死并重新启动应用程序。
在这一点上,我很无知。知道这里发生了什么吗?阻止播放器在其连接中包含这些标头将修复它,但它不会暴露其请求序列化程序。
ios - AVQueuePlayer 无间隙播放
我正在尝试在播放期间动态添加 .aac 块(通常为 10 秒)AVQueuePlayer
以模仿AVPlayer
hls 播放。
但是它会像我希望的那样一个接一个地播放歌曲,歌曲之间大约有 200 毫秒到 400 毫秒的间隔。
以下问题似乎已经回答了这个问题,但它对我不起作用。
我有一个单例播放器和一个单例avplayeritem
来跟踪最后一项。然后使用以下代码,我可以成功播放有间隙的歌曲。
我是否必须解码这些块然后将 PCM 输入AVQueuePlayer
?如果这是唯一的解决方案,我如何将保存 pcm 的 NSData 提供给AVPlayerItem
?
ios - AVPlayer 使用资源加载器委托在大型视频文件上停止
我正在使用这种方法来保存视频文件的 AVPlayer 的缓冲区数据。在这个问题Saving buffer data of AVPlayer中找到答案。
iPhone 和 iPad - iOS 8.1.3
我对播放视频进行了必要的更改,它工作得非常好,除非我尝试播放很长的视频(11-12 分钟长,大约 85mb 大小),视频将在连接完成加载后大约 4 分钟停止。我收到了一个播放缓冲区空事件和一个播放器项目停止通知。
这是代码的要点
问题似乎是连接完成加载后的一段时间,播放器项目缓冲区变空。我目前的想法是,当连接完成加载并弄乱 playerItem 缓冲区时,某些东西正在被释放。
但是,当缓冲区变空时, playerItem 状态良好,视频资产可播放,视频数据良好
如果我通过 charles 限制 wifi 并减慢连接速度,只要连接在视频结束后几分钟内没有完成加载,视频就会播放。
如果我在完成加载事件上设置连接 nil,资源加载器将在 shouldWaitForLoadingOfRequestedResource 再次触发时触发新连接。在这种情况下,加载将重新开始,视频将继续播放。
我应该提到,如果我将这个长视频作为普通的 http url 资源播放,它可以正常播放,并且在保存到设备并从那里加载后也可以正常播放。
video-streaming - 如何在 iwatch 上播放来自 URL 的视频
我在 iPhone 应用程序上使用AVPlayer
.
对于我使用的视频视图层AVPlayerLayer
和UIImageView
.
但是我找不到 iWatch 应用程序的解决方案,WKInterfaceImage
没有那个功能。
我正在寻找在iWatch
.
ios - AVPlayer :observedBitrate 和indicatedBitrate 的区别
我AVPlayer
用来读取 HLS 流。
在播放期间,我需要从AVPlayerItemAccessLogEvent
对象获取比特率。在这个对象中,我可以得到observedBitrate
或indicatedBitrate
。
我阅读了文档,但是,我不明白这两个属性之间的区别......
cocoa - 为什么 AVPlayerItem 不支持 AVAudioTimePitchAlgorithmVarispeed 设置?
我正在尝试根据发送到 AVPlayer 的速率更改 AVPlayerItem 的音频音高。
为此,我使用指定“AVAudioTimePitchAlgorithmVarispeed”的 AVAsset 初始化 AVPlayerItem,如下所示:
然后我将 playerItem 附加到 AVPlayer,但是当我将 AVPlayer 的速率设置为小于 1 或大于 1 时,音高不会改变。相反,AVPlayerItem 使用 'AVAudioTimePitchAlgorithmSpectral' 算法并且不遵守我指定的算法。我的目标是 10.9 并针对 10.9 进行构建。根据文档,此功能从 10.9 开始可用。
objective-c - 如何使用 AVQueuePlayer 和 AVPlayerItem
我试图使用 AVQueuePlayer 类来播放一些 AVPlayerItems 并遇到问题。
我有财产类
在这个类的初始化中,我有:
后来一个功能有这样的东西
我什么也没听到。路径是 100% 正确的。我已经用 AVAudioPlayer 对其进行了测试,但我需要一个接一个地播放多个文件,这就是我想使用 AVQueuePlayer 的原因