Android中简单的音乐播放器
16lz
2021-01-23
<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>
更多相关文章
- android实现调用系统音乐播放器
- adb使用查看应用内存使用情况
- Android加载图片导致内存溢出(Out of Memory异常)
- Android进程内存上限
- Android APK常驻内存解决方案
- 【Android】Android内存溢出问题---用自行开辟的空间进行对内存
- Android,谁动了我的内存
- Android内存分析总结