1

このコードを使用して音量を調整しましたが、機能しませんでした

int volume=23;
audio.setStreamVolume(AudioManager.STREAM_RING,volume, AudioManager.FLAG_PLAY_SOUND|AudioManager.FLAG_ALLOW_RINGER_MODES);}
4

1 に答える 1

9

音量を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);
于 2011-05-11T12:57:39.837 に答える