내가하려는 것은 제목이 말하고있는 것이지만, 그렇게 할 수는 없습니다.스위프트 3 : AVAudioPCMBuffer의 길이를 TimeInterval로 가져 옵니까?
func getLength(buffer: AVAudioPCMBuffer) -> TimeInterval {
let framecount = buffer.frameCapacity
let bytesperframe = buffer.format.streamDescription.pointee.mBytesPerFrame
return TimeInterval(bytesperframe * framecount)
}
을하지만이 난 후 어떻게 될 것 같지 않습니다 거대한 수를 제공합니다 : 나는 다음과 같은 일을 시도했다. 이미 답변을 찾으려고했지만 아무도이 질문을하지 않는 것 같습니다. 그래서 나는 분명히 뭔가 빠져있을 것입니다. 누구 알아?
편집 : 나는이 내 코드를 변경 : 작동하는 것 같다,하지만 조금 복잡한 것 같다
func getLength(buffer: AVAudioPCMBuffer) -> TimeInterval {
let framecount = Float64(buffer.frameCapacity)
let samplerate = buffer.format.streamDescription.pointee.mSampleRate
return TimeInterval(framecount/samplerate)
}
. 다른 방법이 있습니까?