2013-11-26 3 views
4

Я получаю эту ошибку после 80 снимков лазера с использованием управляемого таймера, поэтому он срабатывает каждые 0,2 секунды.SKAction playSoundFileNamed ERROR

* Нагрузочный приложение из-за неперехваченного исключения «Не удалось загрузить ресурс», причина: «squish.mp3 Ресурс не может быть загружен» * Первый стек бросить вызов:

Вот код, я использую воспроизводить звук и создавать лазер. squish.mp3 - это аудиофайл, который воспроизводится при уничтожении объекта. Может ли кто-нибудь помочь? Является ли SKAction не очень хорошим для воспроизведения звука?

SKAction *sound = [SKAction playSoundFileNamed:@"lazer.mp3" waitForCompletion:NO]; 
[self runAction:sound]; 
[self removeActionForKey:@"sound"]; 
SKSpriteNode *laser = [SKSpriteNode spriteNodeWithImageNamed:@"fire"]; 
+0

У меня такая же проблема. Вы оправились от этой проблемы? – Banshi

+0

Привет, да, я заменил звуковой файл другим, и он, похоже, исправит его. Теперь он срабатывает каждые 3 секунды (лазерный звук), и я не смог его разбить даже после 1000 выстрелов. «Хейвен» прошёл мимо этого. @Banshi – Mike

ответ

2

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

+0

Вы все еще столкнетесь с проблемами, если вы постоянно звоните runAction (SKAction.playSoundFileNamed («file.wav»)) Вы должны смотреть на решение [здесь] (https://www.google.com/url? са = т & RCT = J & д = & ESRC = s & источник = веб & кд = 1 & вед = 0CB8QFjAAahUKEwjFpb31u8LHAhUDL4gKHcSpD6U & URL = HTTP% 3A% 2F% 2Fstackoverflow.com% 2Fquestions% 2F26683171% 2Fskaction-playsoundfilenamed-аварии-когда-повторить-спрайт-набор & е = a3LbVYXEOIPeoATE076oCg & USG = AFQjCNFl_6AEPf4VOQmTltDz8yAhISWZDw & Sig2 = FMVNc_iBJhje8dNiD1Yl4A) –

+0

Я тоже сталкиваюсь с той же проблемой ..! запуск звукового файла продолжается более 100 раз и после этого сбоя с отсутствующей ошибкой! – Rex

2

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

Сделайте один SKAction, который представляет воспроизведение лазерного звука и повторное использование этого объекта.

Я думаю, что playSoundFileNamed: должен быть умным, чтобы не перезагружать аудиофайл из файловой системы каждый раз, когда он используется. Но крах указывает на то, что он перезагружается, по крайней мере, иногда. Сохранение SKAction для повторного использования означает, что звуковой файл загружается только один раз.

+0

Не пробовал, он не работал. Спасибо, хотя за ваше предложение. Я прочитал еще один обзор, который сказал, что просто использует CGAudio, поэтому, возможно, я это сделаю. – Mike

+0

Извините, что не сработал. Казалось, это мне помогло. Мне кажется, что в SpriteKit звук был скорее запоздалым. – Fabian

0

Я бы использовал более подходящий для Apple формат, например AAC (.m4a) для звукового файла. Apple не принимает слишком любезно с .mp3 s. Однако, я думаю, файл может быть файл Microsoft .wav

 Смежные вопросы

  • Нет связанных вопросов^_^