音频慢动作,如使用 240FPS 的默认慢动作相机功能

Posted

技术标签:

【中文标题】音频慢动作,如使用 240FPS 的默认慢动作相机功能【英文标题】:audio slow motion like default Slo-Mo Camera functionality using 240FPS 【发布时间】:2014-09-20 11:24:45 【问题描述】:

我想在相机中实现慢动作视频,如 Slo-Mo 的 Defalut 功能,我使用了以下代码,它适用于视频。 但在该视频的音轨中无法正常工作。

   double videoScaleFactor =8.0;


 compositionAudioTrack scaleTimeRange:CMTimeRangeMake(kCMTimeZero, videoDuration)
                                     toDuration:CMTimeMake(videoDuration.value* videoScaleFactor,videoDuration.timescale)];
 [compositionVideoTrack scaleTimeRange:CMTimeRangeMake(kCMTimeZero, videoDuration)
   toDuration:CMTimeMake(videoDuration.value* videoScaleFactor, videoDuration.timescale)];

 this scenario is woking properly for video slowmotion.But in audio slow-motion it is not working...

请帮帮我..

【问题讨论】:

首先谢谢,我也在尝试这个功能,通过使用 MpmoviePlayerController 慢动作播放视频但没有成功,请帮我提供一些该功能的代码。 【参考方案1】:

我找到了音频慢动作的解决方案

double videoScaleFactor =8.0;

[compositionAudioTrack scaleTimeRange:CMTimeRangeMake(kCMTimeZero, videoDuration) toDuration:CMTimeMake(videoDuration.value* videoScaleFactor,videoDuration.timescale)];

它可以正常工作,但不能在 AVPlayer 中工作 因此,您必须设置 AVPlayerItem 的以下属性

AVPlayerItem *playerItem = nil;

playerItem.audioTimePitchAlgorithm = AVAudioTimePitchAlgorithmVarispeed;

【讨论】:

以上是关于音频慢动作,如使用 240FPS 的默认慢动作相机功能的主要内容,如果未能解决你的问题,请参考以下文章

使用颤振如何将音频文件与任何视频(如相机动作)的同步合并,颤振中有任何特定的包可用

iOS慢动作记录

AVPlayer SET fps

使用 C++/OpenCV 从 100fps GoPro .mp4 视频创建 25fps 慢动作视频

使用 AVAssetWriter 和 CoreML 的相机上的 FPS 不一致

iPhone 13 1000FPS慢动作测试