Android-播放应用内音频文件and播放内存卡及网络音频
2017-02-09 18:41
337 查看
效果如下:
播放应用内音频文件
1,MainActivity import android.media.MediaPlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.SeekBar; public class MainActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; private SeekBar seekBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar = (SeekBar) findViewById(R.id.main_seekbar); //设置seekbar的滑动监听事件 seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { //获得拖动之后的位置 int progress=seekBar.getProgress(); //跳转到某个位置播放 mediaPlayer.seekTo(progress); } }); } public void isPlayOrPause(View view){ ImageButton imageButton= (ImageButton) view; if (mediaPlayer==null){ //实例化MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.music); mediaPlayer.start(); imageButton.setImageResource(android.R.drawable.ic_media_pause); //获取音乐的总时长 int duration=mediaPlayer.getDuration(); seekBar.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 (seekBar.getProgress()<=seekBar.getMax()){ //获取当前音乐的位置 int currentPosition=mediaPlayer.getCurrentPosition(); //让进度条动起来 seekBar.setProgress(currentPosition); } } } } 2.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:id="@+id/activity_main" 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.example.android_playmusic.MainActivity"> <SeekBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/main_seekbar" android:layout_weight="1" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_play" android:onClick="isPlayOrPause" /> </LinearLayout> 播放内存卡音频(根据上述代码修改) 将mediaPlayer==null中的内容 改为 //播放内存中的音频文件 MediaPlayer mediaPlayer=new MediaPlayer(); //设置类型 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); //准备 mediaPlayer.start(); //设置音源 try { mediaPlayer.setDataSource(this, Uri.parse("file://Music/mylove.mp3(内存地址)")); mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } 加一个权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"> </uses-permission> 播放网络音频(根据上述代码修改) mediaPlayer.setDataSource(this, Uri.parse("网络路径")); //异步准备 mediaPlayer.prepareAsync(); 加一个准备完的监听 加一个联网权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
相关文章推荐
- Android-MedioPlay播放应用内,内存卡,网络的音频实例
- Android系列之音乐播放器的实现一(播放网络音频文件)
- Android基础教程(五)之 ------ Andorid播放音频文件服务(MP3)
- android多媒体开发--本地音频文件播放
- Android 网络应用重点———使用HttpGet 下载apk文件并安装
- Android 网络应用重点———使用HttpGet 下载apk文件并安装
- android之MediaPlayer播放音频或者视频文件
- 在一个win Forms应用中嵌入以及播放WAV音频文件
- 【Android】AudioTrack播放caf音频文件
- Android提高第二十篇之MediaPlayer播放网络音频(转)
- Android 网络应用重点———使用HttpURLConnection 上传文件
- android 播放音频文件
- Android播放音频文件
- Android MediaPlayer 简单综合应用------列出sdcard里所有.mp3文件,并且可以点击播放!
- Android多媒体--网络文件播放
- Android 网络应用重点———使用HttpURLConnection 上传文件
- 在一个win Forms应用中嵌入以及播放WAV音频文件(翻译五)
- Android MediaPlayer 简单综合应用------列出sdcard里所有.mp3文件,并且可以点击播放!
- android录制音频通过网络传输到服务器播放
- android实现音频文件播放的方法