【发布时间】:2015-05-13 16:31:50
【问题描述】:
我正在尝试根据我发送到 AVPlayer 的速率来更改 AVPlayerItem 的音频音高。
为此,我使用指定“AVAudioTimePitchAlgorithmVarispeed”的 AVAsset 初始化 AVPlayerItem,如下所示:
AVPlayerItem *nPlayerItem = [AVPlayerItem playerItemWithAsset:asset];
[nPlayerItem setAudioTimePitchAlgorithm:AVAudioTimePitchAlgorithmVarispeed];
然后我将 playerItem 附加到 AVPlayer,但是当我将 AVPlayer 的速率设置为小于 1 或大于 1 时,音高不会改变。相反,AVPlayerItem 使用 'AVAudioTimePitchAlgorithmSpectral' 算法并且不遵守我指定的算法。我的目标是 10.9 并针对 10.9 进行构建。根据文档,此功能从 10.9 开始可用。
【问题讨论】:
-
一旦我初始化了我的 AVPlayerItem,我确实检查了该项目的“canPlaySlowForward”属性,它返回 NO,我觉得很奇怪,因为我可以将速率设置为小于 1.0。
标签: cocoa avfoundation avplayer avplayeritem