gpt4 book ai didi

swift - 如何获取用于在 Swift 中设置 AudioUnitSetProperty 的 inDataSize?

转载 作者:行者123 更新时间:2023-11-28 13:21:25 25 4
gpt4 key购买 nike

我在 Swift 中大致有以下代码:

var inputFileURL : NSURL
var inputFile : AudioFileID
inputFileURL = NSURL.fileURLWithPath("/Bird.wav")
status = AudioFileOpenURL(inputFileURL, Int8(kAudioFileReadPermission), 0, &inputFile)
status = AudioUnitSetProperty( inUnit: AudioFilePlayerAU, inID: kAudioUnitProperty_ScheduledFileIDs, inScope: kAudioUnitScope_Global, inElement: 0, inData: self.inputFile, inDataSize: sizeof(inputFile) )

问题是我不能使用 sizeof() [如大多数核心音频示例中所示] 来设置 AudioUnitSetProperty 函数的参数。

我得到错误:

173:37: error: 'AudioFileID' is not convertible to 'T.Type'
inDataSize: sizeof(self.inputFile) )
^
Swift.sizeof:1:6: note: in call to function 'sizeof'
func sizeof<T>(_: T.Type) -> Int

我应该如何在 Swift 中获取音频文件的数据大小?

谢谢

最佳答案

Swift 中的

sizeof() 采用类型作为参数,而不是变量。试试 sizeof(AudioFileID)。您还需要将结果从 Int 转换为 UInt32 for inDataSizeUInt32(sizeof(AudioFileID))

关于swift - 如何获取用于在 Swift 中设置 AudioUnitSetProperty 的 inDataSize?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25311084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com