2011-11-04 24 views
6

Xin lỗi trước về tính noobiness của câu hỏi này, đây là lần khám phá đầu tiên của tôi về mặt âm thanh của lập trình iOS.Chuyển đổi đầu vào AVAudioRecorder thành bộ đệm của phao nổi

Tôi đang sử dụng lớp AVAudioRecorder để ghi lại đầu vào thông qua micrô, sử dụng từ điển cài đặt sau.

NSMutableDictionary *settings = [[NSMutableDictionary alloc] init]; 
[settings setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey]; 
[settings setValue:[NSNumber numberWithFloat:11025.0] forKey:AVSampleRateKey]; 
[settings setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey]; 
[settings setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey]; 
[settings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey]; 
[settings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey]; 

Nó hoạt động hoàn toàn tốt đẹp, vấn đề đi kèm tuy nhiên khi tôi cố gắng để sử dụng thư viện echonest-codegen để tạo ra một dấu vân tay để nhận dạng âm nhạc chơi trong.

Đừng lo lắng, nếu bạn đã không bao giờ sử dụng nó trước đây, về cơ bản tôi phải chạy chức năng này:

Codegen * pCodegen = new Codegen(const float* pcm[], int number_of_samples, int samples_offset); 

Trường hợp const float * pcm [] là bộ đệm mẫu. Tôi cần phải chuyển đổi đầu vào của tôi thành một "bộ đệm nổi". Tôi đã hướng tới các tài liệu ExtAudioFile, nhưng chúng không tạo ra nhiều ý nghĩa khủng khiếp. Ai có thể chỉ cho tôi đi đúng hướng không? Tôi hoàn toàn bị mất!

Rất cám ơn!

Trả lời

1

Bạn có thể dễ dàng có được mẫu âm thanh với Audio Queue Services Vấn đề lớn nhất tôi thấy ở đây là bộ đệm âm thanh là (Tôi tin) của kiểu char * (byte), tôi không biết tại sao bạn cần nổi *

Các vấn đề liên quan