美文网首页
21期_AVAudioTime

21期_AVAudioTime

作者: 萧修 | 来源:发表于2023-11-10 00:50 被阅读0次

    AVAudioTimeAVAudioEngine中用来表示时间。实例是不可变的。

    单个时刻可以用两种不同的方式表示:

    1. Mach_absolute_time(),系统的基本时钟。通常被称为“主人时间”。
    2. 以特定采样率进行音频采样

    单个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 }
    }
    

    相关文章

      网友评论

          本文标题:21期_AVAudioTime

          本文链接:https://www.haomeiwen.com/subject/yiozidtx.html