[英]How to convert multiple-character numeric format into a readable string in Swift?
我正在嘗試將通過AudioFileGetGlobalInfo獲得的AudioStreamBasicDescription的mFormatID屬性轉換為可讀的字符串。 在Objective-C中,它看起來像這樣:
for (int i = 0; i < asbdCount; i++) {
UInt32 format4cc = CFSwapInt32HostToBig(asbds[i].mFormatID);
NSLog(@"mFormatID: %4.4s", (char*)&format4cc);
}
這段代碼是《學習核心音頻》一書中的一段CAStreamFormatTester。 asbds是指向AudioStreamBasicDescriptions的指針。 如何將其轉換為Swift?
如果asbds
的類型為UnsafePointer<AudioStreamBasicDescription>
或類型為[AudioStreamBasicDescription]
,那么我認為這應該可行:
for i in 0 ..< asbdCount {
var format4cc = CFSwapInt32HostToBig(asbds[i].mFormatID)
withUnsafePointer(&format4cc) { cptr in
println(String(format: "mFormatID: %4.4s", cptr))
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.