我有一個應用程序定期通知我的用戶使用重複間隔。現在我的應用用戶要求我允許他們以不同於其他人的方式控制通知的音量。 (大部分低於設備的當前級別)。是否可以通過我的應用程序控制本地通知的音量?
我想知道是否有辦法做到這一點?
我有一個應用程序定期通知我的用戶使用重複間隔。現在我的應用用戶要求我允許他們以不同於其他人的方式控制通知的音量。 (大部分低於設備的當前級別)。是否可以通過我的應用程序控制本地通知的音量?
我想知道是否有辦法做到這一點?
使用不同容量不同的聲音文件。例如五個文件alarm1.aiff,alarm2.aiff ... alarm5.aiff。用戶在應用程序的偏好設置中選擇音量(1至5)級別,然後通知將使用相應的文件。
這種方式與使用選項選擇報警聲音相同。但只有不同的音量。
系統不調整音量,以觀察聲音限制(保護),並保證甚至用戶體驗? – 2013-04-07 19:19:50
不錯!這就是我所想的,但是,用戶能夠在UILocalNotification.soundName = @「xxx.wav」;'中選擇聲音文件嗎? – user1949873 2013-04-07 19:58:20
@ user1949873我不明白你的問題。用戶不選擇聲音文件。他在您的應用程序中選擇一個級別,然後以編程方式設置soundName。 – Gabriel 2013-04-07 20:18:04
不幸的是沒有(公共)API可以控制通知音量。
兩個UILocalNotification
彈出窗口和聲音由系統進程管理。該過程使用用戶的音量偏好,還會在播放聲音之前檢查設備是否處於靜音模式等。這在某種程度上是連貫的。
所以,你有兩個選擇:
這裏是後者溶液片段:
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:YOUR_SOUND_URL error:&error];
[audioPlayer setVolume:YOUR_DESIRED_VOLUME];
if (audioPlayer == nil)
{
NSLog([error description]);
}
else
{
[audioPlayer play];
}
注意:通過適當的值替換YOUR_SOUND_URL
和YOUR_DESIRED_VOLUME
。
同樣值得一提的是本次討論:
Sounds in UILocalNotification louder than AVAudioPlayer at max volume
它不顯示用戶如何能夠調整音量,因爲他們需要 – user1949873 2013-04-07 19:12:16