Android-MedioPlay播放应用内,内存卡,网络的音频实例
2017-02-22 11:26
225 查看
效果图:
![](https://img-blog.csdn.net/20170222112611218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBfMzc0NjQwMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package com.example.android26_medioplay; import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; import android.os.Environment; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ImageButton; import android.widget.SeekBar; import java.io.IOException; /** * 媒体播放器 * MediaPlayer是一个封装的很好的音频、视频流媒体操作类 * 加载sd和网络需在清单文件加权限 */ public class MainActivity extends AppCompatActivity { private ImageButton ib_main; private MediaPlayer mediaPlayer; private SeekBar sb_mian; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ib_main = (ImageButton) findViewById(R.id.ib_main); sb_mian = (SeekBar) findViewById(R.id.sb_mian); //设置进度条拖动的监听 sb_mian.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=sb_mian.getProgress(); //跳转到拖动位置播放 mediaPlayer.seekTo(progress); } }); } public void playmusic(View view){ if(mediaPlayer==null){ //播放内存卡sd的音乐 mediaPlayer = new MediaPlayer(); try { //设置音频 mediaPlayer.setDataSource(this, Uri.parse("file//内部存储/musics/b.mp3")); //拿网络音乐 // mediaPlayer.setDataSource(this, Uri.parse("http://193.168.1.70/Internet.mp3")); //准备 mediaPlayer.prepare(); //异步准备 // mediaPlayer.prepareAsync(); } catch (IOException e) { e.printStackTrace(); } //播放内存raw的音乐 //mediaPlayer = MediaPlayer.create(this, R.raw.a); //设置音乐完成的监听 // mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { // @Override // public void onPrepared(MediaPlayer mediaPlayer) { mediaPlayer.start(); ib_main.setImageResource(android.R.drawable.ic_media_pause); //获取音乐播放的总时长 int alltime=mediaPlayer.getDuration(); //给seekbar设置最大值 sb_mian.setMax(alltime); new Mythread().start(); // } // }); }else if(mediaPlayer.isPlaying()){ mediaPlayer.pause(); ib_main.setImageResource(android.R.drawable.ic_media_play); }else{ ib_main.setImageResource(android.R.drawable.ic_media_pause); mediaPlayer.start(); } } class Mythread extends Thread{ @Override public void run() { //当进度条小于等于进度条最大的时候做操作 while(sb_mian.getProgress()<=sb_mian.getMax()){ //获取当前进度条 int currentposition=mediaPlayer.getCurrentPosition(); //设置进度条为当前播放的位置 sb_mian.setProgress(currentposition); } super.run(); } } }
相关文章推荐
- Android-播放应用内音频文件and播放内存卡及网络音频
- 我的Android进阶之旅------>Android MediaPlayer播放网络音频的实例--网络mp3播放器
- Android提高第二十篇之MediaPlayer播放网络音频
- Android应用实例之----基于Service与ContentProvider的音乐播放实例!
- Android之解决Mediaplayer播放网络音频缓冲太慢的问题
- 如何在Android中播放网络传输过来的AAC音频?
- Android应用开发学习笔记之播放音频
- Android提高第二十篇之MediaPlayer播放网络音频
- Android应用实例之----基于Service与ContentProvider的音乐播放实例!
- Android提高第二十篇之MediaPlayer播放网络音频
- 基于网络音频的Android播放程序简单示例
- 如何在Android中播放网络传输过来的AAC音频?
- Android提高篇之MediaPlayer播放网络音频
- Android应用实例之----基于Service与ContentProvider的音乐播放实例!
- Android提高第二十篇之MediaPlayer播放网络音频
- Android提高第二十篇之MediaPlayer播放网络音频
- 【Android应用实例之一】自动播放Assets下图片
- Android应用实例之----基于Service与ContentProvider的音乐播放实例!
- android录制音频通过网络传输到服务器播放
- Android提高之MediaPlayer播放网络音频的实现方法