转载出处:http://blog.csdn.net/yinhaide/article/details/71482390
导入引用库
dependencies {
compile 'com.yhd.hdmediaplayer:hdmediaplayer:1.0.1'
}
model方式导入
下载整个demo将hdmediaplayer 拷贝到工程根目录,settings.gradle中加入
include ':hdmediaplayer'
dependencies {
compile project(':hdmediaplayer')
}
该类支持音乐(.mp3、.wav、.ogg)和视频(.mp4、.3gp)以及对应格式的网络流媒体的播放。
如果要播放视频的话需要控件:SurfaceView。
- 一行代码实现播放Assets目录下的mp4:
MediaPlayerHelper.getInstance().setSurfaceView((SurfaceView)findViewById(R.id.surfaceView)).playAsset(MainActivity.this,"test.mp4");
- 一行代码实现播放Assets目录下的mp3:
-
MediaPlayerHelper.getInstance().playAsset(MainActivity.this,"test.mp3");
-
- 一行代码实现播放网络流媒体或者本地全路径流媒体:
/** * urlString 可为网络流媒体连接,也可以为本地存储全路径链接 */ MediaPlayerHelper.getInstance().setSurfaceView((SurfaceView)findViewById(R.id.surfaceView)).play(urlString);
回掉信息 -
-
MediaPlayerHelper.getInstance().setMediaPlayerHelperCallBack(new MediaPlayerHelper.MediaPlayerHelperCallBack() { @Override public void onCallBack(MediaPlayerHelper.CallBackState state, MediaPlayerHelper mediaPlayerHelper, Object... args) { Log.v(TAG,"--"+state.toString()); if(state== MediaPlayerHelper.CallBackState.PROGRESS){ int percent=(int)args[0]; Log.v(TAG,"--progress:"+percent); } } });
其它方法 -
/** 设置播放进度回调时间间隔 */ MediaPlayerHelper.getInstance().setProgressInterval(msec); /** 获得MediaPlayer对象,进行更多的自定义的操作 */ MediaPlayerHelper.getInstance().getMediaPlayer().pause(); MediaPlayerHelper.getInstance().getMediaPlayer().start(); MediaPlayerHelper.getInstance().getMediaPlayer().stop();
GitHub 地址 https://github.com/yinhaide/HDMediaPlayer