最近做项目的时候发现了一个超级好用的视频框架NiceVideoPlayer。文末附上GitHub地址。
NiceVieoPlayer的优点
- 用IjkPlayer/MediaPlayer + TextureView封装,可切换IjkPlayer、MediaPlayer.
- 支持本地和网络视频播放.
- 完美切换小窗口、全屏,可在RecyclerView中无缝全屏.
- 手势滑动调节播放进度、亮度、声音.
- 支持清晰度切换.
- 可自定义控制界面.
下面讲下如何在Studio中使用。
首先在工程的gradle中加入仓库
repositories {
...
mavenCentral()
maven { url 'https://jitpack.io' }
}
在app的gradle中引入框架
defaultConfig {
...
ndk { //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters "armeabi","x86", "x86_64"
}
}
//视频
implementation 'com.github.xiaoyanger0825:NiceVieoPlayer:v2.2'
创建你将要使用视频的Activity,在对应视频界面所在的Activity的Manifest.xml中需要添加如下配置:
<activity android:name=".Activity.Entertainment.MovieActivity"
android:screenOrientation="landscape"//这是Activity的布局
android:configChanges="orientation|keyboardHidden|screenSize"
></activity>
创建HomeKeyWatcher Java类用于监听Home键按下的Wathcer
public class HomeKeyWatcher {
private Context mContext;
private IntentFilter mFilter;
private OnHomePressedListener mListener;
private InnerRecevier mRecevier;
public interface OnHomePressedListener {
/**
* 短按Home键
*/
void onHomePressed();
/**
* 长按Home键
*/
// void onHomeLongPressed();
}
public HomeKeyWatcher(Context context) {
mContext = context;
mFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
}
/**
* 设置监听
*
* @param listener
*/
public void setOnHomePressedListener(OnHomePressedListener listener) {
mListener = listener;
mRecevier