我正在編寫iOS應用程序(使用Xamarin),它是一個健身應用程序。真的很簡單。您啓動iTunes,在背景中播放一些音樂,並且此應用程序在鍛鍊的不同部分會定期發出語音提示。這是一個基本的HIIT/Tabata計時器。AVAudioSession應用程序卷獨立於系統卷
我使用AVAudioSession
在語音提示時播放背景音頻,並按預期工作。但是,我希望用戶能夠通過設置爲語音提示設置音量級別。我認爲這應該與設置AVAudioSession
上的音量級別一樣簡單,但很快就發現它是隻讀的。
我不想更改系統音量。 我只想設置應用音頻的音量,而不受系統音量的影響。這是可能的。我知道這一點,因爲我有一個應用程序在我面前,這是做這件事。我唯一的問題是,我不知道如何在我的AVAudioSession
中爲我的應用中的音頻設置音量。
那麼,有沒有人知道如何設置獨立於系統音量級別的應用程序發出的音頻音量?
下面是我用它來換我調用的代碼,以激活和關閉AVAudioSession
:
private void ActivateAudioSession()
{
var session = AVAudioSession.SharedInstance();
session.SetCategory(AVAudioSessionCategory.Playback, AVAudioSessionCategoryOptions.DuckOthers);
session.SetActive(true);
}
private void DeactivateAudioSession()
{
new System.Threading.Thread(new System.Threading.ThreadStart(() =>
{
var session = AVAudioSession.SharedInstance();
session.SetActive(false);
})).Start();
}
哈。我完全忘記了音頻播放器是控制實際應用內播放的東西,並且擁有自己的音量。感謝您指出了這一點。 –