<1>
Android中音乐播放器最重要的就是MediaPlayer。

我写的一个音乐播放器就是播放内存中的音乐(raw目录下的音频文件)

mainActivity.java

public class MainActivity extends AppCompatActivity {    private MediaPlayer mediaPlayer;    private SeekBar sb    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sb = (SeekBar) findViewById(R.id.sb_main_bar);        //给进度条设置滑动的监听        sb.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);            }        });    }    public void isPlayOrPause(View view){        final ImageButton imageButton= (ImageButton) view;        if(mediaPlayer==null){            //播放内存中音频            mediaPlayer = MediaPlayer.create(this, R.raw.f);            mediaPlayer.start();                imageButton.setImageResource(android.R.drawable.ic_media_pause);            int duration=mediaPlayer.getDuration()            sb.setMax(duration)             new MyThread().start();                }            });        }else if(mediaPlayer.isPlaying()){            mediaPlayer.pause();            imageButton.setImageResource(android.R.drawable.ic_media_play);        }else{            mediaPlayer.start();            imageButton.setImageResource(android.R.drawable.ic_media_pause);        }    }    class MyThread extends Thread{        @Override        public void run() {            super.run();            while(sb.getProgress()<=sb.getMax()){                //获取音乐当前播放的位置                int position=mediaPlayer.getCurrentPosition();                sb.setProgress(position);            }        }    }}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.zking.g150825_android26_playmusic.MainActivity">    <SeekBar        android:layout_width="0dp"        android:layout_weight="1"        android:layout_height="wrap_content"        android:id="@+id/sb"        />    <ImageButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@android:drawable/ic_media_play"        android:onClick="isPlayOrPause"        />LinearLayout>

更多相关文章

  1. android实现调用系统音乐播放器
  2. adb使用查看应用内存使用情况
  3. Android加载图片导致内存溢出(Out of Memory异常)
  4. Android进程内存上限
  5. Android APK常驻内存解决方案
  6. 【Android】Android内存溢出问题---用自行开辟的空间进行对内存
  7. Android,谁动了我的内存
  8. Android内存分析总结

随机推荐

  1. Android Studio入门小例子
  2. Ubuntu12.04安装JDK6
  3. Android中查看网卡设备信息
  4. 使用AXMLPrinter2,smali,baksmali来实现A
  5. 键盘按钮效果
  6. Android(安卓)JNI开发基础
  7. Android中BaseAdapter原理
  8. android vlc 编译流程
  9. android 多点触摸实现图片缩放
  10. Android7.0中文文档(API)-- AlphabetIndexe