SWIFTUI 更改声音级别 [英] SWIFTUI change sound level

查看:32
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆