AVAudioTime在AVAudioEngine中用来表示时间。实例是不可变的。
单个时刻可以用两种不同的方式表示:
- Mach_absolute_time(),系统的基本时钟。通常被称为“主人时间”。
- 以特定采样率进行音频采样
单个AVAudioTime实例可能包含其中一种或两种表示;它可能
仅表示样本时间,仅表示主机时间,或两者都表示。
使用主机时间的理由:
[a]内部我们使用AudioTimeStamp,它使用主机时间,它似乎愚蠢的划分
[b]它与标准的系统定时服务一致
[c]我们确实提供了在主机刻度和秒(主机时间除以)之间进行转换的便利
频率),所以客户端代码想要做什么应该是直接的时间计算可以
至少不会被主机时钟频率的乘法和除法弄得乱七八糟。
以上翻译结果来自有道神经网络翻译(YNMT)· 通用场景
@available(iOS 8.0, *)
open class AVAudioTime : NSObject {
/** @method initWithSampleTime:atRate:
通过帧数和采样率实例化
*/
public init(sampleTime: AVAudioFramePosition, atRate sampleRate: Double)
/** @property sampleTime
@abstract The time as a number of audio samples, as tracked by the current audio device.
将时间作为若干音频采样,作为当前音频设备的跟踪对象。
*/
open var sampleTime: AVAudioFramePosition { get }
/** @property sampleRate
@abstract The sample rate at which sampleTime is being expressed.
表示sampleTime的采样率。
*/
open var sampleRate: Double { get }
/** @property audioTimeStamp
@abstract The time expressed as an AudioTimeStamp structure.
@discussion
This may be useful for compatibility with lower-level CoreAudio and AudioToolbox API's.
这可能有助于与较低级别的CoreAudio和AudioToolbox API的兼容性。
*/
open var audioTimeStamp: AudioTimeStamp { get }
}





网友评论