播放音乐,SeekBar改变音大小

来源:互联网 发布:mac 文件重命名 命令 编辑:程序博客网 时间:2024/04/26 08:21
//拖动SeekBar改变音量大小public class MainActivity extends Activity implements OnClickListener {    private Button start;    private SeekBar seekbar;    private ArrayList<String> list;    private MediaPlayer media;    private AudioManager audio;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        start = (Button) findViewById(R.id.start);        seekbar = (SeekBar) findViewById(R.id.seekbar);        list = new ArrayList<String>();        list.add("xxxxxxxx.mp3");        media = new MediaPlayer();        start.setOnClickListener(this);        // 得到控制音量的对象        audio = (AudioManager) getSystemService(AUDIO_SERVICE);        // 得到最大音量        int max = audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC);        // 得到当前音量        int now = audio.getStreamVolume(AudioManager.STREAM_MUSIC);        // 设置进度条的最大值        seekbar.setMax(max);        // 设置进度条的值为音量的当前值        seekbar.setProgress(now);        // 进度条的滑动时间,滑动进度条可以设置音量        seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {            @Override            public void onStopTrackingTouch(SeekBar seekBar) {            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onProgressChanged(SeekBar seekBar, int progress,                                          boolean fromUser) {                if (fromUser) {                    audio.setStreamVolume(AudioManager.STREAM_MUSIC, progress,                            0);                }            }        });    }    // 继承接口,实现的点击事件的方法    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.start:// 开始播放音乐                media.reset();                try {                    // 从Assets里面打开当前的音乐                    AssetFileDescriptor openFd = getAssets().openFd(list.get(0));                    FileDescriptor file = openFd.getFileDescriptor();                    media.setDataSource(file, openFd.getStartOffset(),                            openFd.getLength());                    media.prepare();                } catch (IOException e) {                    e.printStackTrace();                }                media.start();                break;            default:                break;        }    }}
原创粉丝点击