MediaPlayer
MediaPlayer是Android系统自带的,可以用来播放音频、视频和流媒体。MediaPlayer包含了Audio和Video的播放功
常用方法
| 方法 | 说明 |
|---|---|
| create | 创建一多媒体 |
| getCurrentPosition | 当前播放位置 |
| getDuration | 文件的总时间 |
| getVideoHeight | 视频的高度 |
| getVideoWidth | 视频的宽度 |
| isLooping | 是否循环播放 |
| isPlaying | 是否正在播放 |
| start | 开始播放 |
| pause | 暂停 |
| prepare | 准备(同步) |
| prepareAsync | 准备(异步) |
| stop | 停止播放 |
| release | 释放相关资源 |
| reset | 重置 |
| seekTo | 指定 |
| setAudioStreamType | 设置类型 |
| setDataSource | 设多媒体数据来源 |
| setDisplay | 设置显示多媒体的载体 |
| setLooping | 是否循环播放 |
| setOnButteringUpdateListener | 网络流媒体的缓冲监听 |
| setOnErrorListener | 错误信息监听 |
| setOnVideoSizeChangedListener | 视频尺寸监听 |
| setScreenOnWhilePlaying | 设置是否保持屏幕常亮 |
| setVolume | 设置音量 |
播放实现
简单步骤
创建一个MediaPlayer对象,实现start()方法,便可以简单播放音乐
mPlayer = MediaPlayer.create(this, R.raw.summer);
mPlayer.start();
具体步骤
先创建MediaPlayer对象;
调用setDataSource()方法来设置音频文件来源;
再调用prepare()/prepareAysnc()方法进行准备;
调用start方法就可以播放音频。
mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(file.getAbsolutePath()); mediaPlayer.setOnPreparedListener(this); mediaPlayer.prepareAsync(); //setOnPreparedListener(this)实现的方法 @Override public void onPrepared(MediaPlayer mp) { mediaPlayer.start(); }MediaPlayer实现了四个不同setDataSource()方法
setDataSource (String path)
setDataSource (FileDescriptor fd)
setDataSource (Context context, Uri uri)
setDataSource (FileDescriptor fd, long offset, long length)
可以从路径,raw,Assets,网络等加载
实例
简单实现一个带进度条的音乐播放器 
布局文件很简单,一个进度条,三个按钮
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="歌曲名"
android:textSize="20dp"/>
<SeekBar
android:id="@+id/seek_bar_music"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="0"
android:progress="0" />
<Button
android:id="@+id/btn_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="播放" />
<Button
android:id="@+id/btn_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="暂停" />
<Button
android:id="@+id/btn_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="停止" />
</LinearLayout>
具体实现
点击播放按钮进行播放
case R.id.btn_play:
if (mPlayer != null) {
mPlayer.release();
mPlayer = null;
}
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setOnPreparedListener(this);
try {
mPlayer.setDataSource(url);
} catch (Exception e) {
e.printStackTrace();
}
mPlayer.prepareAsync();
break;
OnPrepared准备完成之后,开始播放
//setOnPreparedListener(this)实现的方法
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
timer();
}
点击暂停或停止按钮,暂停或结束播放
case R.id.btn_pause:
if (mPlayer.isPlaying()) {
mPlayer.pause();
}
break;
case R.id.btn_stop:
if (mPlayer != null) {
mPlayer.stop();
mPlayer.reset();
}
break;
最后
以上就是自觉外套最近收集整理的关于Android开发之MediaPlayer使用MediaPlayer常用方法的全部内容,更多相关Android开发之MediaPlayer使用MediaPlayer常用方法内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复