如何以编程方式使我的应用静音(禁用声音)

How to mute my app programmatically (disable sounds)

我正在创建一个隐藏广告的应用程序浏览器。快完成了。有时在浏览器中有自动播放的声音(可能是 JavaScript 提供的)

现在我需要关闭这个应用程序中的所有声音。我尝试了两种方法:通过 AVFoundation 和通过 WebKit。

请帮助我了解如何执行此操作。欢迎使用另一种变体:)

这可以通过 MediaPlayer 模块完成:

(MPVolumeView().subviews.filter{ NSStringFromClass([=10=].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: { [=11=] is UISlider }) as? UISlider

第 3 步:

slider?.setValue(0.0, animated: false)