SWIFTUI 更改声音级别 [英] SWIFTUI change sound level
本文介绍了SWIFTUI 更改声音级别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用 SwiftUI 更改 iOS 声音级别
How can I change iOS sound level with SwiftUI
Slider(value: $viewModel.soundLevel, in: 0...1,step: 0.0625,onEditingChanged: {self.viewModel.doSomething() 中的数据 })
和我的课堂
func doSomething(){打印(\(声音级别)")}
我得到了 soundLevel 但我如何设置 iOS 声级
I got soundLevel but how I set iOS sound level
推荐答案
您可以使用 MediaPlayer
更改设备声音级别.设置 MPVoulumeView()
的 Slider 将完成这项工作.
You can change the Device sound level using the MediaPlayer
. Setting the Slider of MPVoulumeView()
will do the job.
如果您使用此处提供的扩展程序,那真的很容易:https://stackoverflow.com/a/57449875/12233264
Its really easy if you use the extension provided here: https://stackoverflow.com/a/57449875/12233264
import MediaPlayer
extension MPVolumeView {
static func setVolume(_ volume: Float) -> Void {
let volumeView = MPVolumeView()
let slider = volumeView.subviews.first(where: { $0 is UISlider }) as? UISlider
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.01) {
slider?.value = volume
}
}
}
在 SwiftUI 中使用它:
Using it in SwiftUI:
import SwiftUI
struct ContentView: View {
@State private var soundLevel: Float = 0.5
var body: some View {
Slider(value: $soundLevel, in: 0...1,step: 0.0625, onEditingChanged: { data in
MPVolumeView.setVolume(self.soundLevel)
})
}
}
这篇关于SWIFTUI 更改声音级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文