abh*_*bhi 1 android volume android-mediaplayer
下面的代码可以工作,但不会将媒体播放器音量增加到高于默认最大音量。请帮助
AudioManager am =
(AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(
AudioManager.STREAM_MUSIC,
am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
0);
Run Code Online (Sandbox Code Playgroud)
MediaPlayer类的setVolume()方法仅接受 [0.0, 1.0] 范围内的标量,但从AudioEffect派生的类可用于放大 MediaPlayer 的音频会话。
例如,LoudnessEnhancer按以毫贝(即百分之一分贝)指定的增益来放大样本:
MediaPlayer player = new MediaPlayer();
player.setDataSource("https://www.example.org/song.mp3");
player.prepare();
// Increase amplitude by 20%.
double audioPct = 1.2;
int gainmB = (int) Math.round(Math.log10(audioPct) * 2000);
LoudnessEnhancer enhancer = new LoudnessEnhancer(player.getAudioSessionId());
enhancer.setTargetGain(gainmB);
Run Code Online (Sandbox Code Playgroud)
从文档中尚不清楚,但在我看来,LoudnessEnhancer 无法在负增益下正常工作,因此如果您想降低音量,您可能仍然需要使用 MediaPlayer 的 setVolume() 方法。
DynamicsProcessing提供跨多个通道的多个级,包括输入增益级。
| 归档时间: |
|
| 查看次数: |
2422 次 |
| 最近记录: |