Я опытный программист на C, но не объективный c. Я пытаюсь помочь моему другу, предоставив ему этот кусок кода в объективе c. Кстати, это приложение для iPhone. У меня есть все основания, и, как вы можете видеть, объявили мой звук как soundA, используя метод - (IBAction) ... Кроме того, звук - это просто .wav-файл размером не более 100 кб.Преобразование из кода C в ObjC
- (IBAction)soundA:(id)sender {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle,
(CFStringRef) @"soundA", CFSTR ("wav"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}
Любая помощь очень ценится! Спасибо.
- Чудак
Какой вопрос ? –
ObjC - это надмножество C, поэтому код C также является кодом ObjC – ouah
'CFBundleCopyResourceURL' имеет копию в названии, поэтому возвращает вашу память. В вашем коде 'soundFileURLRef' утечки в результате. Тоже для памяти, связанной с 'soundID', так как« AudioServicesCreateSystemSoundID »- это метод« create ». – Tommy