У меня пока мало опыта с кодированием, я все еще очень новичок, но я делаю что-то, где я уверен, что должен быть более эффективный способ.SWIFT 3 - AVAudioPlayer - Возможно ли записать функцию для передачи звуков в аудиоплеер?
Я создал очень простое приложение для моей 2-летней дочери, где есть экран с животными значками, каждый значок переводит вас на новую страницу, где есть изображение животного. Вы нажимаете животное, оно делает звук. Очень просто.
Приложение структурировано следующим образом:
Homescreen 15 иконок, каждая из которых с Segue к новой раскадровке, который имеет контроллер представления, связанный с ним (это подкласс ViewController)
каждого звук объявляется как переменная с игроком в основном viewController. Как так (2 примера) ->
var lionSound:AVAudioPlayer = AVAudioPlayer()
var cowSound:AVAudioPlayer = AVAudioPlayer()
let lionAudio = Bundle.main.path(forResource: "sndLion", ofType: "wav")
try lionSound = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: lionAudio!) as URL)
let cowAudio = Bundle.main.path(forResource: "sndCow", ofType: "wav")
try cowSound = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: cowAudio!) as URL)
Я затем создать кнопку IBAction в каждом отдельных животных ViewController, что воспроизводит звук, как:
lionSound.play()
cowSound.play()
Сейчас этот вопрос может показаться невероятно глупо, но есть ли способ написать функцию, в которой я могу передать имя/путь звука и запрос на воспроизведение? Я провел исследование здесь и на других сайтах, но не вижу, что я ищу, что заставляет меня думать, что я ошибаюсь в своей мысли.
Из учебных пособий, которые я прочитал, всегда настаивали на том, чтобы хороший код не повторялся. Ну, я, кажется, много повторяю в этом приложении, так есть лучший способ?
Извините, что набросился ... спасибо за чтение, если вы сделали это до сих пор :) Если вам нужна дополнительная информация, рады предоставить ее.
Благодаря
Большое спасибо за то, что нашли время, чтобы ответить ребятам. Завтра у меня будет игра, и вы узнаете, как она работает. Цените свое время! –