[英]iOS Volume Control via Bluetooth
我是iOS開發人員的新手,目前正在開發一款由Bluetooth外設控制的應用程序。 如果外圍設備發送信號,則電話需要增加其系統音量。 我只找到帶有滑塊的示例。 有什么辦法可以增加系統容量? 幫助將不勝感激。 謝謝。
沒有支持的方法來修改系統音量。 這已被有意刪除(過去是受支持的方式)。
目前有一種不推薦使用的方法(自iOS 7起)有效,但在以后的任何發行版中都可能消失。 您可以使用[[MPMusicPlayerController systemMusicPlayer] setVolume:]
設置主音量。
支持的更改系統音量的新方法是打開MPVolumeView
然后讓用戶修改音量。 但是沒有編程接口。 不過,您可以在視圖中尋找滑塊並進行調整。 這確實很脆弱; 有時,不同OS版本之間的結構會發生變化,Apple可能會在將來將該視圖移至另一個過程中(因為他們已經使用了其他不想讓您弄亂的視圖)。 我不推薦這種方法,也不會編寫代碼來做到這一點(因為已棄用的setVolume:
仍然有效)。 但是有可能。
同樣,這些都是不受支持的內容,Apple可能會拒絕您的應用。
var currentVolume: Float = 0.0
let mpVolumeView = MPVolumeView()
func volumeSliderControl(_ volume: Float) {
let volumeSlider = (mpVolumeView.subviews.filter { NSStringFromClass($0.classForCoder) == "MPVolumeSlider" }.first as! UISlider)
currentVolume = currentVolume + volume
currentVolume = currentVolume > 1.0 ? 1.0 : currentVolume < 0.0 ? 0.0 : currentVolume
debugLog("currentVolume: \(currentVolume)")
volumeSlider.setValue(currentVolume, animated: false)
volumeSlider.sendActions(for: .valueChanged)
}
對於上述功能,只需在Float中將音量范圍從0傳遞到1,就可以僅控制音樂/媒體的音量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.