簡體   English   中英

通過藍牙的iOS音量控制

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM