android实现简单音频播放器
2017-02-22 01:21
465 查看
1.从内存和内存卡中播放音频
public class MainActivity extends AppCompatActivity { private SeekBar sb_id; private MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sb_id = (SeekBar) findViewById(R.id.sb_id); //SeekBar //给进度条设置滑动的监听 sb_id.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 button(View view){ final ImageButton imageButton= (ImageButton) view; if(mediaPlayer ==null){ mediaPlayer = MediaPlayer.create(this, R.raw.sa);//播放内存音频 /* // 播放内存卡中音频 mediaPlayer=new MediaPlayer(); //设置音频 try { mediaPlayer.setDataSource(this, Uri.parse("file://手机存储/qqmusic/song/seve.mp3")); //准备 mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); }*/ mediaPlayer.start(); //播放停止 //获取音乐的总时长 int duration=mediaPlayer.getDuration(); //将进度条设置最大值为:音乐的总时长 sb_id.setMax(duration); imageButton.setImageResource(android.R.drawable.ic_media_pause); }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_id.getProgress()<=sb_id.getMax()){ //获取音乐当前播放的位置 int position=mediaPlayer.getCurrentPosition(); sb_id.setProgress(position); } } } }
播放内存卡中音频需要的权限(AndroidManifest.xml中)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" />
2.下面是播放网络音频
public class MainAction01 extends AppCompatActivity { private SeekBar sb_id; private MediaPlayer mediaPlayer; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sb_id = (SeekBar) findViewById(R.id.sb_id); //给进度条设置滑动的监听 sb_id.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 button(View view){ final ImageButton imageButton= (ImageButton) view; if(mediaPlayer==null){ //播放内存中音频 //mediaPlayer = MediaPlayer.create(this, R.raw.f); //播放内存卡中文件 mediaPlayer=new MediaPlayer(); try { mediaPlayer.setDataSource(this, Uri.parse("http://193.168.4.135/internet.mp3")); mediaPlayer.prepareAsync(); } catch (IOException e) { e.printStackTrace(); } //设置准备完成的监听 mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { //下载操作(复制) mediaPlayer.start(); imageButton.setImageResource(android.R.drawable.ic_media_pause); //获取音乐的总时长 int duration=mediaPlayer.getDuration(); //将进度条设置最大值为:音乐的总时长 sb_id.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_id.getProgress()<=sb_id.getMax()){ //获取音乐当前播放的位置 int position=mediaPlayer.getCurrentPosition(); sb_id.setProgress(position); } } } }
相关文章推荐
- iOS音频播放 (六):简单的音频播放器实现
- Android 实现简单的音乐播放器效果(音频文件的三种存放)
- iOS音频播放 (六):简单的音频播放器实现
- Android音频播放器的实现
- 简单MVP实现Android录制/播放.pcm音频
- ffmpeg + sdl -03 简单音频播放器实现
- android MediaPlayer 简易播放器的实现 及类似斗地主音频池实现
- 如何用FFmpeg+Win32实现一个简单的音频播放器
- android基于ffmpeg的简单视频播发器 三线程实现播放器(完)
- 利用JMF实现简单的音频播放器(展示歌词)
- iOS音频播放 (六):简单的音频播放器实现
- ffmpeg + sdl -03 简单音频播放器实现
- iOS音频播放 (六):简单的音频播放器实现
- Android Tab 选项卡的简单实现
- 用smali实现Android apk的简单汉化
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- Android中用AsyncTask简单实现多线程
- 用smali实现Android apk的简单汉化
- 简单实现Android顶部工具栏和底部工具栏
- 【android】sqlite+content provider+cursor adapter的最简单实现示例