規定の時間に達したと同時に音を鳴らしたい
規定の時間に達したと同時に音を鳴らしたい
SwiftUIを始めてから1ヶ月の初心者です。
現在年越しのタイマー的なものを作っていて、if文で音が鳴るようにしたいのですが書き方が
わかりません。
どうすればif文で規定の時間に音を鳴らすようにできるでしょうか?
ちなみにまだ秒換算しかできていません。
該当するソースコード
import SwiftUI
import Foundation
struct ContentView: View {
let dateFormatter = DateFormatter()
init() {
dateFormatter.dateFormat = "YYYY/MM/dd(E) \nHH:mm:ss"
dateFormatter.locale = Locale(identifier: "ja_jp")
}
@State private var isPowerOn = false
@State var dateText = ""
@State var nill = ""
@State var date = Date()
@State var date1 = Calendar.current.date(from: DateComponents(year: 2023, month: 1, day: 1, hour: 0, minute: 0))
@State var diffText = ""
var body: some View {
VStack {
Text("現在時刻")
.font(.system(size: 44.0))
Text(dateText.isEmpty ? "\(dateFormatter.string(from: date))" : dateText)
.onAppear {
Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in
self.date = Date()
dateText = "\(dateFormatter.string(from: date))"
}
}
Text("年越しタイマー")
.font(.system(size: 44.0))
.foregroundColor(Color(red: 0.76, green: 0.57, blue: 0.72, opacity: 1))
Text("あと")
.font(.system(size: 44.0))
let diff = (String(date1!.timeIntervalSince(date)))
Text("\(diff)秒で")
Text("年を越すよ!")
.font(.system(size: 44.0))
}
}
}
// }
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
//}
1