Tôi đang cố gắng sử dụng Bộ lọc thông thấp AU. Tôi tiếp tục nhận được một lỗi kAudioUnitErr_FormatNotSupported (-10868) khi thiết lập định dạng luồng cho đơn vị lọc, nhưng nếu tôi chỉ sử dụng đơn vị IO từ xa thì không có lỗi.Định dạng luồng nào nên sử dụng Đơn vị hiệu ứng iOS5 sử dụng
Định dạng dòng Tôi đang sử dụng được (Cập nhật):
myASBD.mSampleRate = hardwareSampleRate;
myASBD.mFormatID = kAudioFormatLinearPCM;
myASBD.mFormatFlags = kAudioFormatFlagIsSignedInteger;
myASBD.mBitsPerChannel = 8 * sizeof(float);
myASBD.mFramesPerPacket = 1;
myASBD.mChannelsPerFrame = 1;
myASBD.mBytesPerPacket = sizeof(float) * myASBD.mFramesPerPacket;
myASBD.mBytesPerFrame = sizeof(float) * myASBD.mChannelsPerFrame;
Và tôi thiết lập các dòng bộ lọc như thế này:
// Sets input stream type to ASBD
setupErr = AudioUnitSetProperty(filterUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &myASBD, sizeof(myASBD));
NSLog(@"Filter in: %i", setupErr);
//NSAssert(setupErr == noErr, @"No ASBD on Finput");
//Sets output stream type to ASBD
setupErr = AudioUnitSetProperty(filterUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &myASBD, sizeof(myASBD));
NSLog(@"Filter out: %i", setupErr);
NSAssert(setupErr == noErr, @"No ASBD on Foutput");
tôi đã cố gắng sử dụng các kênh 32 bit và tôi vẫn nhận dạng dòng lỗi. Tôi đã được nói ở nơi khác rằng các hiệu ứng AU được xây dựng trong iOS5 cũng không sử dụng định dạng chuẩn. Tôi đã thử định dạng luồng từ bộ lọc bằng AudioUnitGetProperty nhưng mỗi khi tôi thử, tôi nhận được lỗi. Sẽ tốt hơn nếu sử dụng gọi lại kết xuất và chỉ sử dụng ASBD hiện tại? –
Bạn đã đặt loại cố định hoặc điểm nổi? Đó là một sự khác biệt giữa định dạng chuẩn trên Mac so với iOS. – hotpaw2
Tôi đã thay đổi nó vì vậy tôi không sử dụng phao, nhưng tôi vẫn gặp lỗi. Tôi không chắc liệu tôi có cài đặt bộ lọc ASBD đúng không vì đây là nơi tôi gặp lỗi. –