2011-01-19 92 views
2

如果我只是靜音的onResume與AudioManager調節音量回來的onPause?如何僅在我的Android應用中將按音量鍵的聲音靜音?

還是有這樣做的另一個正確的方法?

謝謝!

+0

你能成爲一個更具體一點?您屏蔽哪個音量,「STREAM_SYSTEM」? – fredley 2011-01-19 14:42:08

+1

我剛剛發現它適用於STREAM_RING。不確定它是否適用於所有設備。 – shiami 2011-01-19 16:05:32

回答

2

我覺得你的答案就在於爲setStreamMute()的文件中。

的靜音命令進行保護,防止 客戶端進程死亡:如果一個進程 與上一個 流的有源靜音請求模具,這個流將是 自動解除靜音。

爲定流的靜音 請求是 累計:在AudioManager可以 從一個 或多個客戶端接收數個靜音請求和流將只有當接收到相同數量的 取消靜音請求 靜音。

對於 更好的用戶體驗,應用程序必須 在 靜音靜音流的onPause()和靜音再次在 的onResume()如果合適的話。

0

如果有人有興趣,有一種解決方法可以避免您的應用程序靜音一切。 執行以下操作,將靜音鍵和通知來電將保持爲在系統中配置(而不是forcely靜音)。

setVolumeControlStream(AudioManager.STREAM_DTMF); 
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
audioManager.setStreamMute(AudioManager.STREAM_DTMF, true); 
相關問題