2016-11-29 8 views
3

は、バッファ内のデータを配列として抽出することは可能ですか?私はバッファにオーディオファイルを保存して、今oデータを抽出したいと思います。コードは次のとおりです。Swift - オーディオPCMバッファからアレイ

import UIKit 
import AVFoundation 

//importing audio 

let audioFileURL = Bundle.main.url(forResource: "Morning", withExtension: "wav") 

let audioFile = try AVAudioFile(forReading: audioFileURL!) 



//extract information 

var audioFileFormat = audioFile.fileFormat 

var audioFilePFormat = audioFile.processingFormat 

var audioFileLength = audioFile.length 

var audioFrameCount = UInt32(audioFile.length) 

var audioFileChannels = audioFile.fileFormat.channelCount 

var audioFileSamplingRate = audioFile.fileFormat.sampleRate 



// insert into buffer 

let audioBuffer = AVAudioPCMBuffer(pcmFormat: audioFilePFormat, frameCapacity: AVAudioFrameCount(audioFileLength)) 

try audioFile.read(into: audioBuffer, frameCount: AVAudioFrameCount(audioFileLength)) 

答えて

1

あなたはこれを行うことができます:

let channelData = audioBuffer.floatChannelData![0] 
let arr = Array(UnsafeBufferPointer(start:channelData, count: Int(audioFileLength))) 
関連する問題