2009-10-09 2 views
2
sound = [[NSSound alloc] initWithContentsOfFile:@"staticbeam09.wav" byReference:YES]; 

Код ссылки от Apple docs. Получение ошибки, когда я помещаю это в viewDidLoad. Если я поставлю в файле заголовкаNSSound не объявлен на iPhone?

NSSound *sound; 

В файле заголовка я получаю ошибку спецификатора-квалификатора в верхней части моего файла реализации. Что мне нужно сделать, чтобы сделать эту работу? Я просто вставлял код из документации Apple - это устарело? Спасибо за вашу помощь!

ответ

0

http://icodeblog.com/2009/05/04/iphone-game-programming-tutorial-part-4-basic-game-audio/

, что, как я сделал аудио Б.Г. музыку и звуковые эффекты в конце для iconquer

+0

Эй, попробовал. Я получаю столбец с параметром nil string во второй строке: \t NSString * beamPath = [[NSBundle mainBundle] pathForResource: @ "staticbeam09" ofType: @ "wav"]; \t CFURLRef beamURL = (CFURLRef) [NSURL fileURLWithPath: beamPath]; staticbeam09.wave находится в папке моих ресурсов. попробовал положить \ resources \ staticbeam09, и это не сработало. Любая идея, какой параметр он думает, я прохожу как ноль? – quantumpotato

+0

У меня нет моего кода для меня, но, с первого взгляда, похоже, что ресурс, который вы используете, должен быть в формате caf, iPhone не использует аудиокодек Windows. Icodeblog включает в себя команду терминала для ее преобразования. Попробуйте это и lemme kno –

+0

Oh! Я думал, что .wav - универсальный формат без потерь. Он работает сейчас! Спасибо всем, кто помог этому. Теперь у меня есть звуки, работающие в моей игре! – quantumpotato

4

Там нет класса NSSound в iPhone SDK Это только для MacOS

3

права кислородсодержащего в. Если вы хотите воспроизводить звуки на iPhone, есть несколько вариантов. Вероятно, самый простой из них - использование аудиоуслуг (example wrapper), тогда есть AVAudioPlayer, а затем вы также можете использовать OpenAL (я написал очень простой движок звукового эффекта OpenAL под названием Finch). Зависит от того, что вам нужно делать.

+0

Спасибо за ответы. Zoul, я попытался поместить ваш код в свой основной файл реализации, а в viewDidLoad я положил: \t Звук * abc = [[Звуковое выделение] initWithPath: [NSString stringWithFormat: @ "staticbeam09.wav"]]; \t [abc play]; Он компилируется отлично, но во время выполнения я получаю исключение. Любая идея почему? Спасибо вам за помощь. – quantumpotato

+0

Вызов 'stringWithFormat:' не нужен, вы можете напрямую использовать '@" строку "'. Код не совсем то, что я использую, я, возможно, оставил там какую-то ошибку. Какое исключение вы получаете? У вас есть звуковой файл, добавленный в группу «Ресурсы» в Xcode? – zoul

+0

О, я посмотрел отчет о просмотре, и он сказал, что при загрузке звука произошла ошибка. Дважды проверили имена и их штраф, дважды щелкнув файл в разделе «Ресурсы» в Itunes. – quantumpotato