このコードを使用して音量を調整しましたが、機能しませんでした
int volume=23;
audio.setStreamVolume(AudioManager.STREAM_RING,volume, AudioManager.FLAG_PLAY_SOUND|AudioManager.FLAG_ALLOW_RINGER_MODES);}
このコードを使用して音量を調整しましたが、機能しませんでした
int volume=23;
audio.setStreamVolume(AudioManager.STREAM_RING,volume, AudioManager.FLAG_PLAY_SOUND|AudioManager.FLAG_ALLOW_RINGER_MODES);}
音量を23に設定するだけでなく、最初にgetStreamMaxVolume(StreamType)を呼び出して、StreamTypeで可能な最大音量(この場合は呼び出し音の音量)を取得する必要があります。
たとえば、呼び出し音の音量を最大に設定するには、これを行います。
audioManager.setStreamVolume(AudioManager.STREAM_RING, audioManager.getStreamMaxVolume(AudioManager.STREAM_RING), FLAG_ALLOW_RINGER_MODES|FLAG_PLAY_SOUND);
更新
int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
Toast.makeText(this, Integer.toString(streamMaxVolume), Toast.LENGTH_LONG).show(); //I got 7
audioManager.setStreamVolume(AudioManager.STREAM_RING, streamMaxVolume, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);
わかった。家にいるので、コードを試すことができます。ご覧のとおり、streamMaxVolumeは整数7を返します。これを23に設定しすぎると、したがって、私の場合、setStreamVolumeで使用できる値は次のとおりです。
0、1、2、3、4、5、6、7最低<----->最高
//set to lowest ->
audioManager.setStreamVolume(AudioManager.STREAM_RING, 0, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);
//set to loudest ->
audioManager.setStreamVolume(AudioManager.STREAM_RING, 7, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);