5

シークバーからメディア プレーヤーの音量を制御する方法は知っていますが、Android のシークバーからシステムの音量を変更するにはどうすればよいですか。

4

2 に答える 2

6

のような使い方AudioManagerと方法adjustStreamVolume()。これは、ウィジェットを使用してさまざまなストリームの音量を調整するサンプル アプリケーションです。SeekBar

于 2012-04-19T14:18:26.033 に答える
5

次のコードを使用できます。

import android.app.Activity;

import android.content.Context;

import android.media.AudioManager;

import android.os.Bundle;

import android.widget.SeekBar;

import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

private SeekBar volumeSeekbar = null;

private AudioManager audioManager = null; 

@Override

public void onCreate(Bundle savedInstanceState) 

{

    super.onCreate(savedInstanceState);
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
    setContentView(R.layout.main);
    initControls();
}

private void initControls()

{

    try
    {
        volumeSeekbar = (SeekBar)findViewById(R.id.seekBar1);
        audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        volumeSeekbar.setMax(audioManager
                .getStreamMaxVolume(AudioManager.STREAM_MUSIC));
        volumeSeekbar.setProgress(audioManager
                .getStreamVolume(AudioManager.STREAM_MUSIC));   


        volumeSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
        {
            @Override
            public void onStopTrackingTouch(SeekBar arg0) 
            {
            }

            @Override
            public void onStartTrackingTouch(SeekBar arg0) 
            {
            }

            @Override
            public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
            {
                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                        progress, 0);
            }
        });
    }
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}
于 2012-07-26T05:46:14.740 に答える