zoukankan      html  css  js  c++  java
  • 1600802083

    制作一个音乐播放器:

    一、实现的功能

    1. 实现播放,暂停,停止,播放上一首,下一首功能
    2. 显示播放列表
    3. 至少可以播放3首歌曲

    二、界面截图

      

    三、关键代码

    建立一个MediaPlayer,调用它实现音乐播放,暂停,结束等功能

    private MediaPlayer mediaPlayer=new MediaPlayer();

    播放:

    1 play.setOnClickListener(new View.OnClickListener() {
    2             @Override
    3             public void onClick(View v) {
    4                 if(!mediaPlayer.isPlaying())
    5                     mediaPlayer.start();//调用start()函数即可
    6             }
    7         });

    暂停:

    1 pause.setOnClickListener(new View.OnClickListener() {
    2             @Override
    3             public void onClick(View v) {
    4                 if(mediaPlayer.isPlaying())
    5                     mediaPlayer.pause();//调用pause()函数
    6             }
    7         });

    停止:

     1 stop.setOnClickListener(new View.OnClickListener() {
     2             @Override
     3             public void onClick(View v) {
     4                 if (mediaPlayer.isPlaying()) {
     5                     mediaPlayer.stop();//调用stop()函数
     6                     try {
     7                         mediaPlayer.reset();//重置mediaPlayer
     8                         mediaPlayer.setDataSource(list.get(count.index).path);//获取音乐路径
     9                         mediaPlayer.prepare();
    10                         mediaPlayer.seekTo(0);//音乐进度置为0
    11                     } catch (Exception e) {
    12                         e.printStackTrace();
    13                     }
    14                 }
    15             }
    16         });

    音乐文件信息类:

    1 public class MusicList {
    2     public String filename;//文件名
    3     public String name;//歌名
    4     public String singer;//歌手
    5     public String path;//歌曲路径
    6     public int time;//歌曲总时长
    7
    8 }

    获取音乐歌曲序号:

     1 //用来确定歌曲序号,切换上下首
     2 public class GetIndex {
     3     public int index;
     4     GetIndex(){//初始化为0
     5         index=0;
     6     }
     7     void Getnext(){//下一首序号加一
     8         index=index+1;
     9     }
    10     void Getlast(){//上一首序号减一
    11         index=index-1;
    12     }
    13     void Getinit(){//点击下一首时大于总歌曲数,歌曲序号设为0
    14         index=0;
    15     }
    16     void Setindex(int i){//点击上一首时,歌曲序号为0,跳到最后一首
    17         index=i;
    18     }
    19 }

    上一首:

     1 last.setOnClickListener(new View.OnClickListener() {
     2             @Override
     3             public void onClick(View v) {
     4                 if(count.index==0){//当前歌曲是第一首时,点击上一首,跳到最后一首
     5                     count.Setindex(list.size()-1);
     6                 }else{
     7                     count.Getlast();
     8                 }
     9                 mediaPlayer.stop();
    10                 try {
    11                     mediaPlayer.reset();
    12                     mediaPlayer.setDataSource(list.get(count.index).path);//读取歌曲文件
    13                     mediaPlayer.prepare();
    14                     mediaPlayer.seekTo(0);
    15                     mediaPlayer.start();
    16                 } catch (Exception e) {
    17                     e.printStackTrace();
    18                 }
    19 
    20 
    21             }
    22         });

     下一首:

     1 next.setOnClickListener(new View.OnClickListener() {
     2             @Override
     3             public void onClick(View v) {
     4                 if(count.index==(list.size()-1)){//歌曲到最后一首时,点击下一首跳到第一首
     5                     count.Getinit();
     6                 }else{
     7                     count.Getnext();
     8                 }
     9                 mediaPlayer.stop();
    10                 try {
    11                     mediaPlayer.reset();
    12                     mediaPlayer.setDataSource(list.get(count.index).path);
    13                     mediaPlayer.prepare();
    14                     mediaPlayer.seekTo(0);
    15                     mediaPlayer.start();
    16                 } catch (Exception e) {
    17                     e.printStackTrace();
    18                 }
    19             }
    20         });

    三、代码链接

    https://git.coding.net/huang180/android_music.git

     

    四、apk链接

    https://git.coding.net/huang180/android_music.git

     五、效果展示

    实现了播放音乐,上下首歌曲切换,暂停,停止功能。

  • 相关阅读:
    vbs习题
    spotlight监控工具使用
    vue 不同路由同一个组件 缓存问题
    iphone手机上3D动画transform:rotateY闪现一下或者不显示
    vue 单独引用sass文件
    cnpm安装 npm安装node-sass报错
    webpack 打包css时提示Unexpected character '@'
    window下npm启动报错This is probably not a problem with npm. There is likely additional logging output above.
    HBuilder 配置android模拟器
    windows 切换git远程仓库地址后 git push 提示Authentication failed
  • 原文地址:https://www.cnblogs.com/hdq163/p/10099631.html
Copyright © 2011-2022 走看看