簡體   English   中英

如何在Swift中將多字符數字格式轉換為可讀字符串?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM