播放网络音乐的播放器

来源:互联网 发布:6s移动数据 打不开 编辑:程序博客网 时间:2024/05/03 12:44

博主这里测试直接用的局域网,使用tomcat,使用局域网最重要的是获取ip  话不多说直接上代码,有不懂的可以问博主哦,常在释疑


布局代码

 <SeekBar        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/seekBar"        android:layout_weight="1" />    <ImageButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/ib_main_imageButton"        android:src="@android:drawable/ic_media_play"/>

访问网络需要权限,清单文件中添加权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>


主要代码

public class MainActivity extends AppCompatActivity {    private SeekBar seekBar;    private ImageButton ib_main_imageButton;    private MediaPlayer mediaPlayer;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        seekBar = (SeekBar) findViewById(R.id.seekBar);        ib_main_imageButton = (ImageButton) findViewById(R.id.ib_main_imageButton);        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {            @Override            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onStopTrackingTouch(SeekBar seekBar) {                int progress = seekBar.getProgress();                mediaPlayer.seekTo(progress);            }        });        ib_main_imageButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if (mediaPlayer == null) {                    //实例化MediaPlayer                    //播放内存中的音乐                    //mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.music);                    //播放内存卡中的音乐                    mediaPlayer = new MediaPlayer();                    //设置音源                    try {                        //内存卡//                        mediaPlayer.setDataSource(getApplicationContext(), Uri.parse("file://mnt/sdcard/data/meng.mp3"));                        //网络                        mediaPlayer.setDataSource(getApplicationContext(), Uri.parse("http://192.168.43.135/meng.map3"));                    } catch (IOException e) {                        e.printStackTrace();                    }                    //设置类型                    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);                    //这里要注意  需要准备一下                    try {                        //准备(内存卡)                        mediaPlayer.prepare();                        //准备(网络)                        mediaPlayer.prepareAsync();                    } catch (IOException e) {                        e.printStackTrace();                    }                    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {                        @Override                        public void onPrepared(MediaPlayer mediaPlayer) {                            mediaPlayer.start();                            //把图标修改为暂停的图标                            ib_main_imageButton.setImageResource(android.R.drawable.ic_media_pause);                            //获取音乐的总时长                            int duration=mediaPlayer.getDuration();                            //设置进度条的最大值为音乐的总时长                            seekBar.setMax(duration);                            new MyThread().start();                        }                    });                } else if (mediaPlayer.isPlaying()) {                    mediaPlayer.pause();                    //把图标修改成播放图标                    ib_main_imageButton.setImageResource(android.R.drawable.ic_media_play);                } else {                    mediaPlayer.start();                    //把图标修改成暂停图标                    ib_main_imageButton.setImageResource(android.R.drawable.ic_media_pause);                }            }        });    }    class MyThread extends Thread {        @Override        public void run() {            super.run();            while (seekBar.getProgress() <= seekBar.getMax()) {                //获取播放音乐的当前位置                int currentPosition = mediaPlayer.getCurrentPosition();                //让进度条动起来                seekBar.setProgress(currentPosition);            }        }    }}


2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 想让电表跑的慢怎么办 家里电表突然没有电了怎么办 电表不识别电卡怎么办 家里水表不转了怎么办 车管所体检色弱怎么办 煤气押金单没了怎么办 中国建设银行登录密码忘了怎么办 中国建设银行登录密码忘记了怎么办 公司车辆怎么办换新能源牌 杭州新能源汽车牌照外地人怎么办 建行登录密码忘了怎么办 新捷达epc灯亮怎么办 捷达车玻璃升降偏离怎么办 交金中断一个月怎么办 博士拟录取没导师怎么办 保研联系导师后怎么办 特别害怕和导师交流怎么办 面试工资要少了怎么办 一面工资要低了怎么办 家乐卡到期本金还一半怎么办 新三板公司没有资不抵债没钱怎么办 户户通智能卡坏了怎么办 秦岭云无法回看怎么办 身份证在火车站丢了怎么办 到火车站发现身份证丢了怎么办 广电宽带太慢了怎么办 车有后雷达想装前置雷达怎么办 现代朗动油耗大怎么办 雷达线雕头里有水怎么办 上古卷轴5免疫死亡奴役怎么办 dw手表时针不动了怎么办 雷达陶瓷表壳摔坏了怎么办 雷达表盘摔坏了怎么办 雷达测速60超了怎么办 卡西欧手表电池没电了怎么办 审稿人让引用他的文章怎么办 考二建未从事该行业满两年怎么办 2档换3档离合器怎么办 高铁车票丢了怎么办 事业编制调动原单位不同意怎么办 想去铁路上工作怎么办