使用 Swift 以编程方式设置设备音量时隐藏音量 Hud

Posted

技术标签:

【中文标题】使用 Swift 以编程方式设置设备音量时隐藏音量 Hud【英文标题】:Hide volume Hud when the device volume is set programmatically using Swift 【发布时间】:2015-04-06 19:23:13 【问题描述】:

我正在使用这种方法以编程方式设置音量设备:

    self.mpVolumeView.frame = CGRectMake(0, 0, self.view.bounds.width * 0.82, CGFloat(50))
    self.mpVolumeView.showsRouteButton = false
    self.mpVolumeView.showsVolumeSlider = true
    self.mpVolumeView.backgroundColor = UIColor.clearColor()

    for subview in self.mpVolumeView.subviews 
        if (subview as UIView).description.rangeOfString("MPVolumeSlider") != nil 
            // Set volume

            volumeSlider = subview as UISlider
            subview.setValue(0.5, animated: false)
            break
        
    

这工作正常,但每次我设置滑块值时,音量 hud 都会出现,有没有办法防止这种情况发生?

【问题讨论】:

老实说,我希望不会。 为什么?音量滑块无论如何都会显示音量变化 你成功了吗? 【参考方案1】:

您必须添加 mpVolumeView 作为主视图的子视图并将 alpha 设置为 0.000001,因为 0 由于某些奇怪的原因不起作用:

view.addSubview(mpVolumeView)
mpVolumeView.alpha = 0.000001

【讨论】:

以上是关于使用 Swift 以编程方式设置设备音量时隐藏音量 Hud的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式增加iPhone音量

如何以编程方式更改 iOS 设备音量?

如何以编程方式更改非默认声音设备的音量?

隐藏和显示音量指示器

在 10.6 (Snow Leopard) 之后以编程方式设置 Mac OS X 音量

以编程方式淡出 AVAudioPlayerNode 的音量