使用MediaPlayer播放音乐文件
2017-04-12 13:48
603 查看
package com.example.day502; import android.media.MediaPlayer; import android.net.Uri; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import java.io.File; /** * 创建自定义的音频播放器MediaPlayer */ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnCompletionListener,View.OnTouchListener,View.OnClickListener{ private MediaPlayer mediaPlayer; private Button start,stop; private View view; private int position=0; //保存音频文件中的位置,后面将使用这个位置确定从哪里播放 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start=(Button)findViewById(R.id.start); stop=(Button)findViewById(R.id.stop); view=(View)findViewById(R.id.view); start.setOnClickListener(this); stop.setOnClickListener(this); view.setOnTouchListener(this); } @Override protected void onStart() { super.onStart(); File file=new File(Environment.getExternalStorageDirectory().getPath()+"/output_audios.wav"); Uri uri = Uri.fromFile(file); mediaPlayer=MediaPlayer.create(this,uri); //创建MediaPlayer对象加载uri mediaPlayer.setOnCompletionListener(this); mediaPlayer.start(); } @Override protected void onStop() { super.onStop(); mediaPlayer.stop(); mediaPlayer.release(); } @Override public void onCompletion(MediaPlayer mp) { mp.start(); mp.seekTo(position);//定位到保存的位置 } /** * @param v * @param event * @return * * getDuration()返回文件的持续时间如果没有持续时间返回-1即实时流直播 */ @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE) { if (mediaPlayer.isPlaying()) { //计算出滑动的距离最终换算成文件在屏幕上的长度 position = (int) event.getX() * mediaPlayer.getDuration() / view.getWidth(); //定位到拖动的位置 mediaPlayer.seekTo(position); } } return true; } @Override public void onClick(View v) { if (v == start) { mediaPlayer.start(); } if (v == stop) { mediaPlayer.pause(); } } }
相关文章推荐
- C#/.NET使用MediaPlayer控件播放MP3等音乐文件
- 使用MediaPlayer控件播放MP3等音乐文件
- Android使用MediaPlayer播放音乐文件
- 使用MediaPlayer播放音乐文件的简单例子
- C#使用MediaPlayer控件播放MP3等音乐文件
- Android--MediaPlayer(实现列表选歌,上一首,下一首,清空播放列表,搜索本地音乐文件)
- Qt 使用 phonon 播放 wav音乐文件 的 demo
- Asp.net中使用mediaplayer,百度影音,快播播放音乐,电影
- 使用 libZPlay 播放音乐文件
- 使用mcisendstring重复播放音乐文件
- 让你使用MediaPlayer也能播放FLV视频文件
- 使用MCI播放音乐文件,MFC音乐播放
- android 使用MediaPlayer播放assets目录的音频文件
- 【Android Dev Guide - 04】 - Media - 学习使用MediaPlayer播放音乐
- Android MediaPlayer播放音乐有必要使用Service来调用吗?
- IOS-使用AVAudioPlayer播放音乐文件
- Android--MediaPlayer(实现列表选歌,上一首,下一首,清空播放列表,搜索本地音乐文件)
- 使用MCI播放音乐文件,MFC音乐播放
- 使用Service和Broadcast播放音乐文件
- 用MediaPlayer播放assets中的音乐文件出现的问题