Связывание звуковых файлов с кнопкой переключения с помощью swiftui - PullRequest
0 голосов
/ 25 мая 2020

Мне нужна помощь в связывании кнопки переключения, которую я создал, чтобы включить или выключить весь звук в моем приложении. Ниже представлен созданный мной вид настроек. В нем также есть пример звуковых файлов, которые я использую.

struct SettingsView: View {

    @State private var seOn: Bool = true
    @ObservedObject var soundEffectsM = soundEffectsModel()
    @State private var feedBack = UINotificationFeedbackGenerator()

    var body: some View {
        ZStack {
            Image("Background")
                .resizable()
                .edgesIgnoringSafeArea(.all)
                .onAppear(perform: {playSound(sound: "GunCock", type: "wav")})

            VStack {
                Spacer()
                Text("Game Logo")
                    .foregroundColor(.white)
                    .font(.system(size: 30))

                Spacer()

                Toggle(isOn: self.$soundEffectsM.seOn) {
                    ZStack {
                        Image("Button")
                            .renderingMode(.original)
                            .resizable()
                            .aspectRatio(contentMode: .fit)
                            .padding([.leading, .trailing], 40);
                        Text("Sound Effects")
                            .padding(.all, 20)
                            .padding([.leading, .trailing], 40)
                            .font(.system(size: 30))
                            .foregroundColor(.black)
                    }
                    Spacer()
                }.onTapGesture(perform: {playSound(sound: "GunCock", type: "wav")})
            }
        }
    }
}
class soundEffectsModel: ObservableObject {
    @Published var seOn: Bool = UserDefaults.standard.bool(forKey: "seOn") {
        didSet {
            UserDefaults.standard.set(self.seOn, forKey: "seOn")
        }
    }
}

Мы будем очень признательны за совет или ссылку, где я могу найти ответ.

...