如何以编程方式设置媒体播放器卷。我用它来报警。任何帮助都非常感谢,并提前感谢。
答案 0 :(得分:43)
使用 AudioManager 可以控制媒体播放器的音量。
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
也来自MediaPlayer(但我没试过)
public void setVolume (float leftVolume, float rightVolume)
自:API级别1
设置此播放器的音量。建议使用此API来平衡应用程序中音频流的输出。除非您正在编写用于控制用户设置的应用程序,否则应优先使用此API,以设置特定类型的所有流的卷的setStreamVolume(int,int,int)。请注意,传递的卷值是原始标量。 UI控件应该以对数方式进行缩放。
<强>参数强>
leftVolume留下音量标量
rightVolume右卷标量
答案 1 :(得分:24)
希望这个帮助
audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
提升音量
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
降低音量
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
答案 2 :(得分:6)
setVolume
课程中确实有MediaPlayer
方法。见here
答案 3 :(得分:4)
隐藏音量控制UI:
audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
For Volume UP
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, 0);
降低音量
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, 0);
答案 4 :(得分:2)
点击此处page。它解释得非常好。 基本上,除非您的应用程序是替换闹钟,否则您需要在“onCreate()”函数中进行以下调用:
setVolumeControlStream(AudioManager.STREAM_MUSIC);
通过这种方式,您可以使用硬件按钮创建应用程序的音量。
答案 5 :(得分:0)
请记住设置左右扬声器音量。
if (System.nanoTime() == alarm){
yourMediaPlayer.setVolume(volume, volume)}
}
答案 6 :(得分:0)
试试这个
protected static void setVolume(int volume) {
currentVolume = volume;
{
if (volume == 1) {
volume = 2;
}
try {
float vol = ((float) volume / CONSTANT.SYSTEM_MAX_VOLUME);
mediaPlayer.setVolume(vol, vol);
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 7 :(得分:0)
以下代码将音量设置为最高级别(getStreamMaxVolume())。
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC,am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);
答案 8 :(得分:0)
您可以使用Kotlin
执行以下操作,此代码将检查媒体音量是否超过设备最大音量的20%,并将其降低至仅为20%。
val audio = this.getSystemService(Context.AUDIO_SERVICE) as AudioManager
val level = audio.getStreamVolume(AudioManager.STREAM_MUSIC)
val maxVolume = audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
val percent = 0.2f
val twintyVolume = (maxVolume * percent).toInt()
if ( level > twintyVolume) {
Toast.makeText(this,"audio level is $level", Toast.LENGTH_LONG).show()
audio.setStreamVolume(AudioManager.STREAM_MUSIC,twintyVolume,0)
}
答案 9 :(得分:0)
代码:
AudioManager mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
try
{
float count = 100 * 0.2f;
Log.d("--count_float", count + "");
Log.d("--count_final", Math.round(count) + "");
Log.d("--count_volume", new
PreferenceMotionSensor(mContext).getStreamVolume());
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, Math.round(count), 0);
}
catch (Exception e)
{
Log.d("--Error", e.getMessage());
}
输出
D/--count_float: 20.0
D/--count_final: 20
D/--count_volume: 100