web-dev-qa-db-ja.com

Android:プログラムでMediaPlayerの音量を設定するには?

プログラムでmediaplayerの音量を設定する方法。アラーム通知に使用します。どんな助けも大歓迎であり、事前に感謝します。

41
Pattabi Raman

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は、アプリケーション内のオーディオストリームの出力のバランスを取るために推奨されます。ユーザー設定を制御するアプリケーションを作成する場合を除き、特定のタイプのすべてのストリームのボリュームを設定するsetStreamVolume(int、int、int)よりもこのAPIを優先して使用する必要があります。渡されるボリューム値は生のスカラーであることに注意してください。 UIコントロールは対数的にスケーリングする必要があります。

パラメーター

leftVolume左ボリュームスカラー

rightVolume右ボリュームスカラー

44
user370305

この助けを願っています

    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);
24
Dwivedi Ji

ボリュームコントロールUIを非表示にするには:

audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

ボリュームアップ用

audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_RAISE, 0);

ボリュームダウン用

audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_LOWER, 0);
4
Kanakaraj

これを読んでください ページ ここで。それは非常によく説明しています。基本的に、アプリが交換用の目覚まし時計でない限り、「onCreate()」関数で次の呼び出しを行う必要があります。

setVolumeControlStream(AudioManager.STREAM_MUSIC);

このようにして、ハードウェアボタンを使用してアプリのボリュームを作成できます。

2
Cosmin

コード:

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
0
Hits sapra

以下のコードは、ボリュームを最大レベルに設定します(getStreamMaxVolume())。

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC,am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);
0
Rahul Baradia

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)
    }
0
Hasan A Yousef

これを試して

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();
            }
        }

    }
0
Arfan Mirza

スピーカーの左右の音量を忘れずに設定してください。

if (System.nanoTime() == alarm){
    yourMediaPlayer.setVolume(volume, volume)}
}
0
doppelhelix