Как воспроизвести звук при запуске изображения в Cocos2D v3.x iOS?

Я делаю игру в Cocos2D iOS и хотел бы воспроизвести короткий аудиоклип (в формате .m4a), когда отображается изображение запуска (по умолчанию).

Я попытался добавить эту строку: [[OALSimpleAudio sharedInstance] playBg:@"clip.m4a"];

в application didFinishLaunchingWithOptions, но не работает.

Я также пытался воспроизвести файл .caf вместо .m4a, но он также не воспроизводится.

Не могли бы вы, ребята, помочь мне в этом отношении?

Большое спасибо!


person Hyder    schedule 08.04.2014    source источник


Ответы (1)


Вы говорите об экране загрузки по умолчанию, который определен в настройках вашего проекта как «default.png»? Если да, я не думаю, что можно воспроизводить звук в тот же момент, когда приложение запускается, потому что в данный момент оно загружается. Однако вы могли бы сделать IntroScene, который реализовал бы только метод onEnter и немедленно применил бы переход, например, к вашему главному меню. Это то, что я делаю прямо сейчас в своей игре (используя cocos2D 2.1, но я думаю, что это не сильно отличается от версии к другой):

-(void) onEnter
{
    [super onEnter];

    CCScene *scene;

    //Check if app has already launched once
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) {
        scene = [MainMenuScene sceneWithParticles:nil];
    }else{
        scene = [Tutorial sceneWithParticle:nil];
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

    //PLAY YOUR SOUND HERE

    //Transition
    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:scene]];
}

Надеюсь это поможет! :)

person RaphBlanchet    schedule 09.04.2014
comment
Хорошо, но почему воспроизведение звука в didFinishLaunchingWithOptions не работает? - person Tibor Udvari; 09.04.2014
comment
Вот чего я не понимаю. Я посмотрел здесь и попробовал, но, похоже, это не работает. Любая помощь, пожалуйста? - person Hyder; 09.04.2014
comment
Я не эксперт по звукам и iPhone, но есть некоторые вещи, которые вы можете попробовать: 1) Попробуйте воспроизвести звук в любом другом месте вашего приложения (например, в главном меню), это работает? 2)Возможно проблема при чтении файла .m4a. Попробуйте преобразовать его в .mp3 и посмотрите, работает ли он (уже была проблема с .wav) 3) Возможно, ваш файл не добавлен в ваш проект, даже если он в XCode. Нажмите на свой файл и на правой панели отметьте «Целевое членство › YourGame». 4) В крайнем случае, иногда работает: сделайте чистую сборку и повторите попытку (Product › Clean)! - person RaphBlanchet; 09.04.2014
comment
@UnluckyPotato, это работало с файлом .mp3 ( [[OALSimpleAudio sharedInstance] playBg:@"clip.mp3"]; ). Спасибо! Однако даже при размещении этого кода в didFinishLaunchingWithOptions звук воспроизводится между переходом от Default.png к основной сцене. Во всяком случае, я получил это, чтобы играть по крайней мере. - person Hyder; 09.04.2014
comment
Да, я не думаю, что можно заставить звук воспроизводиться на экране по умолчанию, в основном потому, что в это время он загружает ваши файлы! И именно поэтому ваше приложение запускается только тогда, когда все готово! :) Рад, что смог помочь! - person RaphBlanchet; 09.04.2014