Я пишу приложение для рассказчика для своей племянницы, и у меня есть вопрос о SpriteKit. Я пытаюсь настроить его так, чтобы в нем играли разные типы аудио.Как прекратить воспроизведение звукового эффекта с помощью SpriteKit и Swift?
- Фоновая музыка петли (AVFoundation)
- Повествование, который играет, когда на новой странице, или при нажатии на кнопку повествуют переигрывать повествованием (SKAction)
Моя проблема заключается в том, что повествование будет отображаться поверх друг друга, если пользователь изменяет страницу или пользователь воспроизводит кнопку повторного воспроизведения. Таким образом, это заканчивается тем, что два человека разговаривают друг с другом.
Как я могу остановить все повествования, которые играют, когда запускается новое повествование?
Я не могу найти подходящую помощь в Интернете. Я видел, что некоторые сообщения говорят нам об AVFoundation, но из моего понимания (хотя и ограниченного), который больше подходит для фоновой музыки и может иметь только один трек.
Я неверно истолковал документацию? Может кто-нибудь помочь мне ответить на эту проблему?
import SpriteKit
импорт AVFoundation
класс Page1: SKScene {
// MARK: Touch handling
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
/* Called when a touch begins */
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
println("\(location)")
//checks if someone touched the menu button
if menuButton.containsPoint(location) {
println("Play story with sound!")
settings.setInProgress()
goToPauseMenu()
}
if soundButton.containsPoint(location) {
println("Play story with sound!")
settings.setInProgress()
runAction(playNar)
}
//checks if someone touched the forward button
if pageForward.containsPoint(location) {
println("Next Page!")
settings.setInProgress()
nextPage()
}
}
}
Да SKAction предназначен, например, из документации «Воспроизведение простых звуков». Например, pew pew pew идет лазером-бластером. Вы хотите использовать AVFoundation для фактического управления. –
HI PixelCloudSt. Вы абсолютно правы! Я вроде как новичок в этом, поэтому я думал, что мы могли бы получить только один экземпляр. Наверное, я пропустил определение экземпляра ... Во всяком случае, ваш совет на месте. и я понял свою ошибку. Большое спасибо за помощь в ответе на мой вопрос. – user3136022