在我的應用程序中,我試圖在將音頻剪輯播放到最高級別時設置音量,但它似乎沒有任何影響。我必須手動將音量調整到最高水平。這裏是我的代碼:在Android中將音量設置爲最大值
MediaPlayer mp = new MediaPlayer();
mp.setVolume(1, 1);
在我的應用程序中,我試圖在將音頻剪輯播放到最高級別時設置音量,但它似乎沒有任何影響。我必須手動將音量調整到最高水平。這裏是我的代碼:在Android中將音量設置爲最大值
MediaPlayer mp = new MediaPlayer();
mp.setVolume(1, 1);
int origionalVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
使用此
它S對於總量
AudioManager mgr = (AudioManager) appContext.getSystemService(Context.AUDIO_SERVICE);
int valuess = 9;//range(0-15)
mgr.setStreamVolume(AudioManager.STREAM_MUSIC, valuess, 0);
它是左右,而當前正在播放的歌曲......
AudioTrack m = (AudioTrack) appContext.getSystemService(Context.AUDIO_SERVICE);
m.setStereoVolume(leftVolume, rightVolume);
它適合我。
我得到一個java.lang.ClassCastException:android.media.AudioManager不能轉換爲android.media。 AudioTrack,當我嘗試當前歌曲的解決方案。任何想法爲什麼? – SjoerdvGestel 2013-10-01 14:55:21
檢查導入你導入錯誤的音頻管理器.... – 2013-10-03 04:01:37
你有兩次相同的getSystemService(Context.AUDIO_SERVICE)第一次作爲AudioManager(正確),第二次作爲AudioTrack(不正確)流失我假設第二個服務應該是別的AUDIO_SERVICE(甚至其他方法) – 2014-10-27 23:38:49
使用AudioManager可以控制媒體播放器的音量。
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
也從MediaPlayer的
public void setVolume (float leftVolume, float rightVolume)
例如,你可以使用這個方法,
int maxVolume = 100;
float log1=(float)(Math.log(maxVolume-currVolume)/Math.log(maxVolume));
mp.setVolume(1-log1);
如何獲取currVolume? – Fer 2016-11-29 07:23:30
錯誤。它改變用戶設置 – 2013-04-26 06:00:40
它的工作對我來說 – 2013-04-26 06:01:46
那麼,MediaPlayer的setVolume的目的是什麼? – AndroidDev 2013-04-26 06:02:45