Swift 单元测试和核心音频
在尝试按照这种方法构建单元测试时,我在尝试检查对核心音频的调用时遇到了麻烦 根据我构建的以下代码:Swift 单元测试和核心音频,swift,macos,unit-testing,core-audio,Swift,Macos,Unit Testing,Core Audio,在尝试按照这种方法构建单元测试时,我在尝试检查对核心音频的调用时遇到了麻烦 根据我构建的以下代码: func setProperty(id: AudioUnitPropertyID, scope: AudioUnitScope, element: AudioUnitElement, data: UnsafePointer<Void>, size: UInt32) { checkError(AudioUnitSetProperty(base.audioUnit, id, sco
func setProperty(id: AudioUnitPropertyID, scope: AudioUnitScope, element: AudioUnitElement, data: UnsafePointer<Void>, size: UInt32) {
checkError(AudioUnitSetProperty(base.audioUnit, id, scope, element, data, size), "Failed to set property: \(propName(id))")
}
如果我错了,请纠正我,但是在测试
play()
时,我只想知道正确的参数是否传递给了setProperty
。然后在我对协议的测试中,我想确保核心音频在其框架中得到正确的调用。您可以使用AudioUnitGetProperty
验证是否设置了正确的属性。我可以对某些属性执行此操作,但不能对所有属性执行此操作。例如,kAudioUnitProperty\u ScheduleStartTimeStamp
您可以使用AudioUnitGetProperty
验证是否设置了正确的属性。我可以对某些属性执行此操作,但不能对所有属性执行此操作。例如,kAudioUnitProperty\u ScheduleStartTimeStamp
struct AudioFileUnit: BaseUnitProtocol {
func play() {
var timeStamp = AudioTimeStamp()
timeStamp.mFlags = AudioTimeStampFlags.SampleTimeValid
timeStamp.mSampleTime = -1
// here is the call
setProperty(kAudioUnitProperty_ScheduleStartTimeStamp, scope: kAudioUnitScope_Global, element: 0, data: &timeStamp, size: UInt32(sizeof(AudioTimeStamp)))
}
}