воспроизведение звука не работает на iPhone - PullRequest
0 голосов
/ 05 апреля 2011

Я добавил звук в свое приложение. В моем .h я добавил:

CFURLRef soundFileURL;
SystemSoundID soundFile;

на мой взглядDidLoad в моем .m:

soundFileURL = CFBundleCopyResourceURL(
        CFBundleGetMainBundle(),
        CFSTR("sound"),
        CFSTR("mp3"),
        NULL);
AudioServicesCreateSystemSoundID(
        soundFileURL,
        &soundFile);

и, наконец, я добавил метод -playSound:

-(void)playSound {

NSLog(@"playSound");
AudioServicesPlayAlertSound(soundFile); }

Он отлично работает на симуляторе iPhone, но когда я собираю приложение на своем iPhone, консоль говорит, что звук воспроизводился, но это не так. Я читал, что у многих других тоже была эта проблема, но я не нашел решений.

Что не так?

Ответы [ 3 ]

1 голос
/ 05 апреля 2011

Это может быть ваша кодировка - аудиокодеки на симуляторе сильно отличаются от тех, которые предоставляются вашим фактическим аппаратным обеспечением iPhone.Попробуйте перекодировать.

Кроме того - вы не хотите использовать mp3 для звука, вы хотите использовать несжатый формат файла (я рекомендую использовать его из опыта), потому что нет специального оборудования для декодирования дляподдержите декодирование звука, которое вы пытаетесь сделать.(Есть для воспроизведения музыки, для которой рекомендуется mp3)

1 голос
/ 05 апреля 2011

Я бы рекомендовал AVAudioPlayer в рамках AVFoundation.Он имеет простой асинхронный интерфейс для воспроизведения звука на iOS.

Ознакомьтесь с руководством по программированию Apple здесь.

0 голосов
/ 23 августа 2011

У меня была похожая проблема. Оказалось, что я ссылаюсь на "Horn.caf" с

NSURL *hornSound   = [[NSBundle mainBundle] URLForResource: @"horn"
                                                withExtension: @"caf"];

Обратите внимание на разницу в случае; Моя OS X Lion установлена ​​в файловой системе без учета регистра. Изменение кода на следующий исправило проблему.

NSURL *hornSound   = [[NSBundle mainBundle] URLForResource: @"Horn"
                                                withExtension: @"caf"];

Надежда, которая помогает другим.

...