2

Android では、通常、ユーザーにとって興味深い 3 つのオーディオ ボリューム チャネルがあります: 音楽/メディア、着信音、およびアラームです。通常、ハードウェアの音量ボタンを押すと、着信音の音量が設定され、それに応じてシークバー付きのダイアログが表示されます。

しかし、ミュージック アプリを開いて音量ボタンを押すと、メディア ボリューム チャンネルが設定されます (シークバー ダイアログには、電話の代わりにスピーカー アイコンが表示されます)。私の質問は、着信音チャネルの代わりにメディア チャネルのボリューム コントロールを使用するアプリケーションをどのように設定すればよいかということです。これにはスイッチがありますか、それとも手動で行う必要がありますか (音量ボタンのストロークをキャッチします)?

4

3 に答える 3

8

いくつかのグーグルの後、私はそれを自分で見つけました。

アクティビティの onCreate メソッドでsetVolumeControlStreamを呼び出すことができます。以下の例。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ...

    // change the music vol instead of ringtone vol
    // when hardware volume buttons are pressed
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
于 2012-11-09T08:45:37.413 に答える
0

AudioManagerを使用して、次のいずれかを設定します。

STREAM_ALARM    //The audio stream for alarms
STREAM_DTMF         //The audio stream for DTMF Tones
STREAM_MUSIC    //The audio stream for music playback
STREAM_NOTIFICATION //The audio stream for notifications
STREAM_RING         //The audio stream for the phone ring
STREAM_SYSTEM   //The audio stream for system sounds
STREAM_VOICE_CALL

このような:

myManager.getStreamVolume(AudioManager.STREAM_MUSIC);
于 2012-11-09T08:51:28.427 に答える
0

ストリーム音楽の場合

AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);

着信音用

AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING);

詳細はこちら

于 2012-11-09T08:48:43.440 に答える