简单的播放内存卡中音乐的播放器
来源:互联网 发布:台湾版淘宝官网 编辑:程序博客网 时间:2024/06/06 18:52
上篇文章提到了播放内存中的音乐,这次做的是播放内存中的播放器,只需要设置音源,播放准备,设置类型还有清单文件中的权限别忘了添加!
布局文件在贴一次
<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>
MainActivity主要代码
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")); } catch (IOException e) { e.printStackTrace(); } //这里要注意 需要准备一下 try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } //设置类型 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 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
- 简单的播放内存卡中音乐的播放器
- Android中简单的音乐播放器
- 音频的播放、简单音乐播放器
- 简单的音乐播放器
- 简单的音乐播放器
- 简单的音乐播放器
- 简单的音乐播放器
- 简单的音乐播放器
- 简单的音乐播放
- 简单的音乐播放
- 简单的播放应用内音乐的音乐播放器
- android开发---音乐播放器的简单播放
- 一个简单的音乐播放器
- 最简单的音乐播放器
- unity3d简单的音乐播放器
- Android--MediaPlayDemo简单的音乐播放器
- android-简单音乐播放器的总结
- 简单的音乐播放器代码。。。
- [bzoj2655] calc
- pat a1008(暂缺)
- 基于TFT的ZLG_GUI和3D显示的移植
- Haskell语言学习笔记(10)Writer Monad
- 机器学习之深入理解SVM
- 简单的播放内存卡中音乐的播放器
- 谷哥的小弟学后台(12)——Servlet(4)
- 【说一千道一万】Java内存
- 树莓派+python+打印串口数据
- 不是人人都懂的学习要点
- linux上anaconda的卸载
- Python 序列
- 1.3 逻辑类型
- pat a1009(暂缺)