내가이 있지만 here에 자습서를 작성했지만 여기에 프로세스의 개요입니다 :
기능 사운드 폰트 파일을로드 할 (애플의 문서에서 가져온) :
-(OSStatus) loadFromDLSOrSoundFont: (NSURL *)bankURL withPatch: (int)presetNumber {
OSStatus result = noErr;
// fill out a bank preset data structure
AUSamplerBankPresetData bpdata;
bpdata.bankURL = (__bridge CFURLRef) bankURL;
bpdata.bankMSB = kAUSampler_DefaultMelodicBankMSB;
bpdata.bankLSB = kAUSampler_DefaultBankLSB;
bpdata.presetID = (UInt8) presetNumber;
// set the kAUSamplerProperty_LoadPresetFromBank property
result = AudioUnitSetProperty([pointer to your AUSampler node here],
kAUSamplerProperty_LoadPresetFromBank,
kAudioUnitScope_Global,
0,
&bpdata,
sizeof(bpdata));
// check for errors
NSCAssert (result == noErr,
@"Unable to set the preset property on the Sampler. Error code:%d '%.4s'",
(int) result,
(const char *)&result);
return result; }
은
그런 다음 리소스 폴더에서 사운드 글꼴을로드해야합니다.
NSURL *presetURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Name of sound font" ofType:@"sf2"]];
// Initialise the sound font
[self loadFromDLSOrSoundFont: (NSURL *)presetURL withPatch: (int)10];
희망이 도움이됩니다!
그래, 내가 그 일을 끝내 었어. 하지만 생성 된 기존 AUGraph를 편집하는 대신 새 샘플로 복사 한 후 AUSampler의 속성을 편집했습니다. 매력처럼 작동했습니다. – Barks
(사용 계획) 사운드 샘플 또는 sf2/DLS 방법? –
현재 SF2를 사용하고 있지만 문제가 있습니다. 응용 프로그램이 시뮬레이터에서 잘 실행되지만 재생을 수행하는보기를로드하려고하면 충돌이 발생합니다. 나는 콘솔을 보는 것에서 저 메모리로 인한 충돌을 믿는다. 문제는 내 SF2 파일이 72MB라는 것입니다. iPad처럼 너무 커질 것 같습니다. 작은 피아노 SF2를 아십니까? 아니면 더 나은 해결책이 있습니까? – Barks