gpt4 book ai didi

ios - Swift 3 - 将 AudioStreamBasicDescription 字段初始化为零

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

在 Objective-C 中,您应该始终将新音频流基本描述结构的字段初始化为零,如下所示:

AudioStreamBasicDescription myAudioDataFormat = {0};

我目前在 Swift 3 工作,我想知道如何将新的 AudioStreamBasicDescription 结构的字段初始化为零?

var asbd = AudioStreamBasicDescription()
asbd.mSampleRate = SAMPLE_RATE
asbd.mFormatID = kAudioFormatLinearPCM
asbd.mFormatFlags = kAudioFormatFlagIsBigEndian | kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked
asbd.mBitsPerChannel = 16
asbd.mChannelsPerFrame = 1
asbd.mFramesPerPacket = 1
asbd.mBytesPerFrame = 2
asbd.mBytesPerPacket = 2

我的第一行会将初始字段初始化为零吗?否则如何实现?

最佳答案

我的第一行会将初始字段初始化为零吗?

是的。

如您所知,Swift 生成一个默认初始化程序,将所有字段作为 Swift 定义的结构的参数,这些结构没有显式初始化程序定义。

并且在导入 C 结构时,Swift 会生成另一个采用 () 的初始化程序。在 old Xcode Release Notes 中查看此部分:

  • Imported C structs now have a default initializer in Swift that initializes all of the struct's fields to zero.

从 Swift 1.2 到现在,此功能可用。

关于ios - Swift 3 - 将 AudioStreamBasicDescription 字段初始化为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42564837/

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