【发布时间】:2017-11-01 05:39:47
【问题描述】:
我正在创建一个隐藏广告的应用浏览器。快完成了。有时浏览器会自动播放声音(可能是 JavaScript 驱动的)
现在我需要关闭此应用中的所有声音。我尝试了两种方法:通过 AVFoundation 和通过 WebKit。
请帮助我了解如何做到这一点。欢迎使用更多变体:)
【问题讨论】:
标签: ios swift xcode webkit avfoundation
我正在创建一个隐藏广告的应用浏览器。快完成了。有时浏览器会自动播放声音(可能是 JavaScript 驱动的)
现在我需要关闭此应用中的所有声音。我尝试了两种方法:通过 AVFoundation 和通过 WebKit。
请帮助我了解如何做到这一点。欢迎使用更多变体:)
【问题讨论】:
标签: ios swift xcode webkit avfoundation
这可以通过MediaPlayer 模块完成:
(MPVolumeView().subviews.filter{ NSStringFromClass($0.classForCoder) == "MPVolumeSlider" }.first as? UISlider)?.setValue(0, animated: false)
注意您可以更改的两个值:
value: how much volume you want (0 in this case)
animated: allowing you to animate the change visually
【讨论】:
Swift 5 / Xcode 11
第 1 步:
import MediaPlayer
第 2 步:
let slider = MPVolumeView().subviews.first(where: { $0 is UISlider }) as? UISlider
第 3 步:
slider?.setValue(0.0, animated: false)
【讨论】: