最近公司在做视频点播与直播,其中涉及到了视频播放问题.最后我们选择了ExoPlayer.为了方便使用我将ExoPlayer进行了一次简单封装,即ExoPlayerView,并进行了开源.项目地址:
https://github.com/JarvanMo/E...
https://git.oschina.net/jarva...
欢迎关注,欢迎指点.
在 build.gradle
文件中加入下面语句即可引用ExoPlayerView:
compile 'com.jarvanmo:exoplayerview:0.0.1'
ExoPlayerView 可以直接播放一像常用视频, 比如说 mp4,m3u8等等,也可以用于直播.使用起来也很简单.
你需要在你的布局文件里面做如下声明:
<com.jarvanmo.exoplayerview.ui.ExoVideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="300dp"
app:useController="true"
app:resizeMode="fit"
/>
ExoPlayerView 提供了 3 视频适应模式: fit , fit_width , fit_height
以及 none.
播放代码如下:
videoView.play(mediaSource);
可以提供一个显示名字:
mediaSource.setDisplayName("LuYu YouYue");
或者;
videoView.setDisplayName("LuYu YouYue");
也有一些监听器供你使用 :
videoView.setBackListener(new ExoVideoPlaybackControlView.ExoClickListener() {
@Override
public void onClick(View view, boolean isPortrait) {
if(isPortrait){
finish();
}else {
videoView.changeOrientation();
}
}
});
videoView.setFullScreenListener(new ExoVideoPlaybackControlView.ExoClickListener() {
@Override
public void onClick(View view, boolean isPortrait) {
videoView.changeOrientation();
}
});
也提供了横屏时在控制条添加自定义view:
videoView.addViewToControllerWhenLandscape(view);
其中,view会添加到FrameLayout中.
注意:changeOrientation()
只会影响控制控件的样式,不会做任何旋转操作.
ExoPlayerView 也支持手势操作, 比如说左滑调亮度,右滑调音量,也可以快近或后退.
如果你的target SDK version 是在23或以上, 不要忘记申请权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。