• 音乐播放器


    package com.bwie.day13_music_1;

    import java.util.Timer;
    import java.util.TimerTask;

    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.media.MediaPlayer.OnSeekCompleteListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.SeekBar;
    import android.widget.SeekBar.OnSeekBarChangeListener;

    public class MainActivity extends Activity {
        private int idd;
        private ListView listview;
        private Button button;
        private String[] names;
        private int[] ids;
        private MediaPlayer player;
        private SeekBar seekbar;
        private Timer timer;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            getList();
            listview = (ListView) findViewById(R.id.listview);

            listview.setAdapter(new ArrayAdapter<String>(MainActivity.this,
                    android.R.layout.simple_list_item_1, names));
            listview.setOnItemClickListener(new OnItemClickListener() {

                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    idd = position;
                    start(idd);
                    button.setText("暂停");

                }

            });
            button = (Button) findViewById(R.id.continue_);
            seekbar = (SeekBar) findViewById(R.id.seekbar);

            seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

                public void onStopTrackingTouch(SeekBar seekBar) {

                    player.seekTo(seekBar.getProgress());
                    setseekbar();

                }

                public void onStartTrackingTouch(SeekBar seekBar) {
                    cancel();

                }

                public void onProgressChanged(SeekBar seekBar, int progress,
                        boolean fromUser) {
                    // TODO Auto-generated method stub

                }
            });

        }

        /*
         * 开始播放
         */
        public void start(int position) {
            cancel();
            button.setText("暂停");
            if (player != null && player.isPlaying()) {
                player.stop();
                player.release();
                player = null;
            }

            if (player == null) {
                player = MediaPlayer.create(MainActivity.this, ids[position]);
            }
            player.start();
            int duration = player.getDuration();
            seekbar.setMax(duration);
            setseekbar();
            player.setOnSeekCompleteListener(new OnSeekCompleteListener() {

                public void onSeekComplete(MediaPlayer mp) {
                    down(null);

                }
            });
        }

        public void start(View v) {
            button.setText("暂停");
            if (player != null) {
                start(idd);
            }

        }

        public void continue_(View v) {
            if (button.getText().toString().equals("暂停")) {
                player.pause();
                button.setText("继续");
            } else {
                player.start();
                button.setText("暂停");
            }

        }

        public void stop(View v) {

            if (player != null && player.isPlaying()) {
                player.stop();
                player = null;
            }
        }

        public void up(View v) {
            button.setText("暂停");
            if (idd == 0) {
                idd = names.length;
            }
            idd--;
            start(idd);
        }

        public void down(View v) {
            button.setText("暂停");
            if (idd == names.length - 1) {
                idd = -1;
            }
            idd++;
            start(idd);
        }

        private void getList() {
            names = new String[] { "当", "慢动作", "世界无限大" };
            ids = new int[] { R.raw.dang, R.raw.tfboy, R.raw.world };

        }

        public void setseekbar() {
            timer = new Timer();
            timer.schedule(new TimerTask() {

                @Override
                public void run() {
                    int current = player.getCurrentPosition();

                    seekbar.setProgress(current);

                }
            }, 0, 100);
        }

        public void cancel() {
            if (timer != null) {
                timer.cancel();
            }
        }

    }

  • 相关阅读:
    构建之法阅读笔记05
    第十一周的学习进度条
    第十周的学习进度条
    第九周的学习进度条
    UI分析之石家庄铁道大学官网
    个人工作总结10
    个人工作总结09
    Lua 笔记16
    Lua 笔记15
    Lua 笔记14
  • 原文地址:https://www.cnblogs.com/weiyangge/p/5402310.html
Copyright © 2020-2023  润新知