nicevieoplayer怎么看百度云支持全格式吗

2018 年高薪帮内推:&&&+&&&NiceVieoPlayer Project Url:
Introduction: MediaPlayer+TextureView,完美切换全屏、小窗口的 Android 视频播放器 More: &&&&&&&&& Tags:
用 IjkPlayer/MediaPlayer + TextureView 封装,可切换 IjkPlayer、MediaPlayer.
支持本地和网络视频播放.
完美切换小窗口、全屏,可在 RecyclerView 中无缝全屏.
手势滑动调节播放进度、亮度、声音.
支持清晰度切换.
可自定义控制界面.
下载 niceviewoplayer 库,在 AndroidStudio 中作为 Mudule 添加依赖。
或者在 Gradle 中添加依赖:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
dependencies {
compile 'com.github.xiaoyanger0825:NiceVieoPlayer:v2.2'
在对应视频界面所在的 Activity 的 Manifest.xml 中需要添加如下配置:
android:configChanges=&orientation|keyboardHidden|screenSize&
1.在 Activity 中使用
在 Activity 中使用时,该 Activity 需要继承自AppCompatActivity,在 onStop 中需要释放播放器,并且要在 onBackPress 中处理按下返回键的逻辑:
private void init() {
mNiceVideoPlayer = (NiceVideoPlayer) findViewById(R.id.nice_video_player);
mNiceVideoPlayer.setPlayerType(NiceVideoPlayer.TYPE_IJK); // or NiceVideoPlayer.TYPE_NATIVE
mNiceVideoPlayer.setUp(mVideoUrl, null);
TxVideoPlayerController controller = new TxVideoPlayerController(this);
controller.setTitle(mTitle);
controller.setImage(mImageUrl);
mNiceVideoPlayer.setController(controller);
protected void onStop() {
super.onStop();
// 在 onStop 时释放掉播放器
NiceVideoPlayerManager.instance().releaseNiceVideoPlayer();
public void onBackPressed() {
// 在全屏或者小窗口时按返回键要先退出全屏或小窗口,
// 所以在 Activity 中 onBackPress 要交给 NiceVideoPlayer 先处理。
if (NiceVideoPlayerManager.instance().onBackPressd())
super.onBackPressed();
详细可参考 demo 中的TinyWindowPlayActivity、ChangeClarityActivity、RecyclerViewActivity.
2.在 Fragment 中使用
在 Fragment 中使用时,该 Fragment 外层的 Activity 需要继承自AppCompatActivity,并且也要处理返回键按下逻辑:
public class XXXActivity extends AppCompatActivity {
public void onBackPressed() {
// 在全屏或者小窗口时按返回键要先退出全屏或小窗口,
// 所以在 Activity 中 onBackPress 要交给 NiceVideoPlayer 先处理。
if (NiceVideoPlayerManager.instance().onBackPressd())
super.onBackPressed();
同时在 Fragment 中的 onStop 方法中释放播放器:
public class XXXFragenment extends Fragment {
public void onStop() {
super.onStop();
NiceVideoPlayerManager.instance().releaseNiceVideoPlayer();
详细可参考 demo 中的UseInFragActivity和DemoFragment.
3.切换清晰度
如果需要切换清晰度,需要在controller中配置清晰度相关的等级和视频链接地址:
private void init() {
mNiceVideoPlayer = (NiceVideoPlayer) findViewById(R.id.nice_video_player);
mNiceVideoPlayer.setPlayerType(NiceVideoPlayer.TYPE_IJK); // IjkPlayer or MediaPlayer
TxVideoPlayerController controller = new TxVideoPlayerController(this);
controller.setTitle(mTitle);
controller.setClarity(getClarites(), 0);
// 设置清晰度以及默认播放的清晰度
Glide.with(this)
.load(mImageUrl)
.placeholder(R.drawable.img_default)
.crossFade()
.into(controller.imageView());
mNiceVideoPlayer.setController(controller);
public List&Clarity& getClarites() {
List&Clarity& clarities = new ArrayList&&();
clarities.add(new Clarity(&标清&, &270P&, &http://play.g3proxy.lecloud.com/vod/v2/MjUxLzE2LzgvbGV0di11dHMvMTQvdmVyXzAwXzIyLTExMDc2NDEzODctYXZjLTE5OTgxOS1hYWMtNDgwMDAtNTI2MTEwLTE3MDg3NjEzLWY1OGY2YzM1NjkwZTA2ZGFmYjg2MTVlYzc5MjEyZjU4LTE0OTg1NTc2ODY4MjMubXA0?b=259&mmsid=&tm=&key=f0eadb4f30c404d49ff8ebad673d3742&platid=3&splatid=345&playid=0&tss=no&vtype=21&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super&));
clarities.add(new Clarity(&高清&, &480P&, &http://play.g3proxy.lecloud.com/vod/v2/MjQ5LzM3LzIwL2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMTA3NjQxMzkwLWF2Yy00MTk4MTAtYWFjLTQ4MDAwLTUyNjExMC0zMTU1NTY1Mi00ZmJjYzFkNzA1NWMyNDc4MDc5OTYxODg1N2RjNzEwMi0xNDk4NTU3OTYxNzQ4Lm1wNA==?b=479&mmsid=&tm=&key=98c7e781f1145aba07cb0d6ec06f6c12&platid=3&splatid=345&playid=0&tss=no&vtype=13&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super&));
clarities.add(new Clarity(&超清&, &720P&, &http://play.g3proxy.lecloud.com/vod/v2/MjQ5LzM3LzIwL2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMTA3NjQxMzkwLWF2Yy00MTk4MTAtYWFjLTQ4MDAwLTUyNjExMC0zMTU1NTY1Mi00ZmJjYzFkNzA1NWMyNDc4MDc5OTYxODg1N2RjNzEwMi0xNDk4NTU3OTYxNzQ4Lm1wNA==?b=479&mmsid=&tm=&key=98c7e781f1145aba07cb0d6ec06f6c12&platid=3&splatid=345&playid=0&tss=no&vtype=13&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super&));
clarities.add(new Clarity(&蓝光&, &1080P&, &http://play.g3proxy.lecloud.com/vod/v2/MjQ5LzM3LzIwL2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMTA3NjQxMzkwLWF2Yy00MTk4MTAtYWFjLTQ4MDAwLTUyNjExMC0zMTU1NTY1Mi00ZmJjYzFkNzA1NWMyNDc4MDc5OTYxODg1N2RjNzEwMi0xNDk4NTU3OTYxNzQ4Lm1wNA==?b=479&mmsid=&tm=&key=98c7e781f1145aba07cb0d6ec06f6c12&platid=3&splatid=345&playid=0&tss=no&vtype=13&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super&));
详细参考 demo 中的ChangeClarityActivity
4.在 RecyclerView 列表中使用
在 ReclerView 列表中使用时需要监听 itemView 回收,以此释放掉对应的播放器
mRecyclerView.setRecyclerListener(new RecyclerView.RecyclerListener() {
public void onViewRecycled(RecyclerView.ViewHolder holder) {
NiceVideoPlayer niceVideoPlayer = ((VideoViewHolder) holder).mVideoP
if (niceVideoPlayer == NiceVideoPlayerManager.instance().getCurrentNiceVideoPlayer()) {
NiceVideoPlayerManager.instance().releaseNiceVideoPlayer();
详细参考 demo 中的RecyclerViewActivity.
5.播放时 Home 键按下以及回到播放界面的处理
按照上面的做法,在 onStop 直接释放掉播放器,那么在播放时按下 Home 键播放器也会被释放掉,如果在此回到播放界面,播放器回到最初始的状态。如果需要在播放的时候按下 Home 键只是暂停播放器,重新回到播放界面时又继续播放,那么可以参考 demo 中的CompatHomeKeyActiivty,或者对应的 Activity 集成自CompatHomeKeyActiivty,详细参考 demo 中的ProcessHome1Activity。当然,如果是在 Fragment 中,参考CompatKeyFragment,或者继承自CompatKeyFragment(外层的 Activity 还是继承自 AppCompat,并处理 onBackPress),详细参考 demo 中的ProcessHome2Activity.
5.自定义控制界面
public class CustomController extends NiceVideoPlayerController {
// 实现自己的控制界面
-keep class tv.danmaku.ijk.media.player.**{*;}
loading Support MePaypal:
About MeGoogle+: GitHub: Blog:拉里萨沙美岛度假村预订, 2018罗勇拉里萨沙美岛度假村价格| Hotels.com好订网
最低价: ¥363
客房123456789+客房 1:成人12345678年满 18 岁儿童01230-17 岁入住时的年龄:儿童 1:-?-&11234567891011121314151617搜索THA罗勇Sai Keaw Beach, Amphur Muang8/1 Moo 4, Samed Island21160免费 WiFi累积晚数每累计 10 晚,即可免费住宿 1 晚*!特色照片 [1/34]豪华客房, 1 张双人床 - 露台 [2/34]Deluxe Room, 1 Twin Bed - 客房 [3/34]豪华客房, 1 张双人床 - 客房 [4/34]Deluxe Room, 1 Twin Bed - 客房 [5/34]豪华客房, 1 张双人床 - 客房景观 [6/34]Deluxe Room, 1 Twin Bed - 客房 [7/34]豪华客房, 1 张双人床 - 浴室 [8/34]酒店外部 [9/34]酒店外部 [10/34]酒店外部 [11/34]大堂 [12/34]室内婚礼 [13/34]室内婚礼 [14/34]室内婚礼 [15/34]沙滩/海景 [16/34]沙滩/海景 [17/34]客房 [18/34]豪华客房, 1 张双人床 - 起居区 [19/34]豪华客房, 1 张双人床 - 客房 [20/34]Deluxe Room, 1 Twin Bed - 客房 [21/34]豪华客房, 1 张双人床 - 客房 [22/34]酒店外部 [23/34]酒店外部 [24/34]酒店外部 [25/34]Deluxe Room, 1 Twin Bed - 客房 [26/34]豪华客房, 1 张双人床 - 客房 [27/34]Deluxe Room, 1 Twin Bed - 客房 [28/34]豪华客房, 1 张双人床 - 客房 [29/34]豪华客房, 1 张双人床 - 客房 [30/34]酒店外部 [31/34]酒店场地 [32/34]客房 [33/34]豪华客房, 1 张双人床 - 客房 [34/34]特色照片豪华客房, 1 张双人床 - 露台Deluxe Room, 1 Twin Bed - 客房豪华客房, 1 张双人床 - 客房Deluxe Room, 1 Twin Bed - 客房豪华客房, 1 张双人床 - 客房景观Deluxe Room, 1 Twin Bed - 客房豪华客房, 1 张双人床 - 浴室酒店外部酒店外部酒店外部大堂室内婚礼室内婚礼室内婚礼沙滩/海景沙滩/海景客房豪华客房, 1 张双人床 - 起居区豪华客房, 1 张双人床 - 客房Deluxe Room, 1 Twin Bed - 客房豪华客房, 1 张双人床 - 客房酒店外部酒店外部酒店外部Deluxe Room, 1 Twin Bed - 客房豪华客房, 1 张双人床 - 客房Deluxe Room, 1 Twin Bed - 客房豪华客房, 1 张双人床 - 客房豪华客房, 1 张双人床 - 客房酒店外部酒店场地客房豪华客房, 1 张双人床 - 客房特色照片[1/34]查看照片主要服务设施24 间客房靠近海滩空调每日客房清洁服务花园前台保管箱烧烤炉行李储存室限时前台服务旅游/票务服务划皮艇浮潜免费 WiFi家庭最爱折叠床/加床(收费)冰箱私人浴室免费卫浴用品花园每日客房清洁酒店周边沙美岛 - 1 分钟步行菠萝海滩 - 1 分钟步行考利姆亚国家公园 - 10 分钟步行钻石海滩 - 12 分钟步行Koh Samet Pier - 13 分钟步行Ao Phai Beach - 22 分钟步行诺伊娜海滩 - 29 分钟步行拉诺娜角 - 35 分钟步行Ao Cho Beach - 39 分钟步行奥普劳海滩 - 41 分钟步行Ao Wong Duan Beach - 2 英里/3.3 公里A lovely resort with private beach quieted and very good for relax.It was really fun time staying at Larrisa Resort, Perfect for couple and families.56猫途鹰旅客评分: 4来自 38 条点评猫途鹰旅客评分Hotels.com(TM) 好订网奖励预订该酒店并在住宿后累积住宿晚数
客房123456789+客房 1:成人12345678年满 18 岁儿童01230-17 岁入住时的年龄:儿童 1:-?-&11234567891011121314151617查看空房情况豪华客房, 1 张双人床Deluxe Room, 1 Twin Bed查看空房情况更多推荐查看罗勇的所有酒店登记手续需要现金押金
需要政府颁发的带有照片的证件
最小登记入住年龄为 18 岁 烧烤炉酒店内可划皮艇酒店内可浮潜前台(限时开放)旅游/票务服务行李寄存前台设有保险箱指定吸烟区花园空调泡咖啡/茶用具拖鞋阳台私人浴室雨淋式花洒只提供淋浴免费卫浴用品平板电视卫星电视频道
书桌免费 WiFi冰箱免费瓶装水每日客房清洁推荐酒店查看罗勇的所有酒店别称Larissa Samed resort Koh SametLarissa Samed resortLarissa Samed Koh SametLarissa Samed政策酒店只接受使用现金支付在酒店内的各项消费,包括杂费。如需查询详细信息,请与酒店联系;联系信息请参阅预订确认邮件。请注意,文化规范和住客政策可能因国家/地区和酒店而有所不同。列出的政策均由酒店提供。其他可选项可提供折叠床,收费为每晚 THB 500我们列出的价格包含该酒店向我们提供的所有收费信息。然而,收费可能根据住宿天数或房型等情况而有所不同。地标沙美岛 - 1 分钟步行菠萝海滩 - 1 分钟步行考利姆亚国家公园 - 10 分钟步行钻石海滩 - 12 分钟步行Koh Samet Pier - 13 分钟步行Ao Phai Beach - 22 分钟步行诺伊娜海滩 - 29 分钟步行拉诺娜角 - 35 分钟步行周边交通店内无停车场最新点评优秀 8.6 来自 56 条点评Nice spot.A great little getaway. Hotel was comfortable and handy to the main beach and restaurants. The staff were. Sry nice and very helpful.David, us浪漫之旅住宿 5 晚Nice hotel, quiet location but close to the beachWeather was grear but some light showers in the evening. The check in was really easy and very friendly. Site is tucked away so you have to walk a little way from where the baht bus drops you. Recommend getting a speedboat to the beach walking from there and you will avoid paying the 200 baht army tax. Beach is amazing, really nice and clean great for swimming and nice bars and restaurants. Definitely will come back was great value for moneyTim, au浪漫之旅住宿 1 晚Worth every pennyPerfect location, great people, pretty place.Samuel, as与朋友一同住宿 2 晚罗勇拉里萨沙美岛度假村链接打不开?
请点击右上角
选择"在浏览器中打开"NiceVieoPlayer使用详解
github项目地址:一.Features用 IjkPlayer/MediaPlayer + TextureView 封装,可切换 IjkPlayer、MediaPlayer.支持本地和网络视频播放.完美切换小窗口、全屏,可在 RecyclerView 中无缝全屏.手势滑动调节播放进度、亮度、声音.支持清晰度切换.可自定义控制界面.二.Usage下载 niceviewoplayer 库,在 AndroidStudio 中作为 Mudule 添加依赖。或者在 Gradle 中添加依赖:allprojects {
repositories {
maven { url 'https://jitpack.io' }
dependencies {
compile 'com.github.xiaoyanger0825:NiceVieoPlayer:v2.2'
}注意:在对应视频界面所在的 Activity 的 Manifest.xml 中需要添加如下配置:android:configChanges="orientation|keyboardHidden|screenSize"1.在 Activity 中使用在 Activity 中使用时,该 Activity 需要继承自AppCompatActivity,在 onStop 中需要释放播放器,并且要在 onBackPress 中处理按下返回键的逻辑:private void init() {
mNiceVideoPlayer = (NiceVideoPlayer) findViewById(R.id.nice_video_player);
mNiceVideoPlayer.setPlayerType(NiceVideoPlayer.TYPE_IJK); // or NiceVideoPlayer.TYPE_NATIVE
mNiceVideoPlayer.setUp(mVideoUrl, null);
TxVideoPlayerController controller = new TxVideoPlayerController(this);
controller.setTitle(mTitle);
controller.setImage(mImageUrl);
mNiceVideoPlayer.setController(controller);
protected void onStop() {
super.onStop();
// 在 onStop 时释放掉播放器
NiceVideoPlayerManager.instance().releaseNiceVideoPlayer();
public void onBackPressed() {
// 在全屏或者小窗口时按返回键要先退出全屏或小窗口,
// 所以在 Activity 中 onBackPress 要交给 NiceVideoPlayer 先处理。
if (NiceVideoPlayerManager.instance().onBackPressd())
super.onBackPressed();
}详细可参考 demo 中的TinyWindowPlayActivity、ChangeClarityActivity、RecyclerViewActivity.2.在 Fragment 中使用在 Fragment 中使用时,该 Fragment 外层的 Activity 需要继承自AppCompatActivity,并且也要处理返回键按下逻辑:public class XXXActivity extends AppCompatActivity {
public void onBackPressed() {
// 在全屏或者小窗口时按返回键要先退出全屏或小窗口,
// 所以在 Activity 中 onBackPress 要交给 NiceVideoPlayer 先处理。
if (NiceVideoPlayerManager.instance().onBackPressd())
super.onBackPressed();
}同时在 Fragment 中的 onStop 方法中释放播放器:public class XXXFragenment extends Fragment {
public void onStop() {
super.onStop();
NiceVideoPlayerManager.instance().releaseNiceVideoPlayer();
}详细可参考 demo 中的UseInFragActivity和DemoFragment.3.切换清晰度如果需要切换清晰度,需要在controller中配置清晰度相关的等级和视频链接地址:private void init() {
mNiceVideoPlayer = (NiceVideoPlayer) findViewById(R.id.nice_video_player);
mNiceVideoPlayer.setPlayerType(NiceVideoPlayer.TYPE_IJK); // IjkPlayer or MediaPlayer
TxVideoPlayerController controller = new TxVideoPlayerController(this);
controller.setTitle(mTitle);
controller.setClarity(getClarites(), 0);
// 设置清晰度以及默认播放的清晰度
Glide.with(this)
.load(mImageUrl)
.placeholder(R.drawable.img_default)
.crossFade()
.into(controller.imageView());
mNiceVideoPlayer.setController(controller);
public List&Clarity& getClarites() {
List&Clarity& clarities = new ArrayList&&();
clarities.add(new Clarity("标清", "270P", "http://play.g3proxy.lecloud.com/vod/v2/MjUxLzE2LzgvbGV0di11dHMvMTQvdmVyXzAwXzIyLTExMDc2NDEzODctYXZjLTE5OTgxOS1hYWMtNDgwMDAtNTI2MTEwLTE3MDg3NjEzLWY1OGY2YzM1NjkwZTA2ZGFmYjg2MTVlYzc5MjEyZjU4LTE0OTg1NTc2ODY4MjMubXA0?b=259&mmsid=&tm=&key=f0eadb4f30c404d49ff8ebad673d3742&platid=3&splatid=345&playid=0&tss=no&vtype=21&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super"));
clarities.add(new Clarity("高清", "480P", "http://play.g3proxy.lecloud.com/vod/v2/MjQ5LzM3LzIwL2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMTA3NjQxMzkwLWF2Yy00MTk4MTAtYWFjLTQ4MDAwLTUyNjExMC0zMTU1NTY1Mi00ZmJjYzFkNzA1NWMyNDc4MDc5OTYxODg1N2RjNzEwMi0xNDk4NTU3OTYxNzQ4Lm1wNA==?b=479&mmsid=&tm=&key=98c7e781f1145aba07cb0d6ec06f6c12&platid=3&splatid=345&playid=0&tss=no&vtype=13&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super"));
clarities.add(new Clarity("超清", "720P", "http://play.g3proxy.lecloud.com/vod/v2/MjQ5LzM3LzIwL2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMTA3NjQxMzkwLWF2Yy00MTk4MTAtYWFjLTQ4MDAwLTUyNjExMC0zMTU1NTY1Mi00ZmJjYzFkNzA1NWMyNDc4MDc5OTYxODg1N2RjNzEwMi0xNDk4NTU3OTYxNzQ4Lm1wNA==?b=479&mmsid=&tm=&key=98c7e781f1145aba07cb0d6ec06f6c12&platid=3&splatid=345&playid=0&tss=no&vtype=13&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super"));
clarities.add(new Clarity("蓝光", "1080P", "http://play.g3proxy.lecloud.com/vod/v2/MjQ5LzM3LzIwL2xldHYtdXRzLzE0L3Zlcl8wMF8yMi0xMTA3NjQxMzkwLWF2Yy00MTk4MTAtYWFjLTQ4MDAwLTUyNjExMC0zMTU1NTY1Mi00ZmJjYzFkNzA1NWMyNDc4MDc5OTYxODg1N2RjNzEwMi0xNDk4NTU3OTYxNzQ4Lm1wNA==?b=479&mmsid=&tm=&key=98c7e781f1145aba07cb0d6ec06f6c12&platid=3&splatid=345&playid=0&tss=no&vtype=13&cvid=4&payff=0&pip=08cc52f8b09acd3eff8bf31688ddeced&format=0&sign=mb&dname=mobile&expect=1&tag=mobile&xformat=super"));
}详细参考 demo 中的ChangeClarityActivity4.在 RecyclerView 列表中使用在 ReclerView 列表中使用时需要监听 itemView 回收,以此释放掉对应的播放器mRecyclerView.setRecyclerListener(new RecyclerView.RecyclerListener() {
public void onViewRecycled(RecyclerView.ViewHolder holder) {
NiceVideoPlayer niceVideoPlayer = ((VideoViewHolder) holder).mVideoP
if (niceVideoPlayer == NiceVideoPlayerManager.instance().getCurrentNiceVideoPlayer()) {
NiceVideoPlayerManager.instance().releaseNiceVideoPlayer();
});详细参考 demo 中的RecyclerViewActivity.5.播放时 Home 键按下以及回到播放界面的处理按照上面的做法,在 onStop 直接释放掉播放器,那么在播放时按下 Home 键播放器也会被释放掉,如果在此回到播放界面,播放器回到最初始的状态。如果需要在播放的时候按下 Home 键只是暂停播放器,重新回到播放界面时又继续播放,那么可以参考 demo 中的CompatHomeKeyActiivty,或者对应的 Activity 集成自CompatHomeKeyActiivty,详细参考 demo 中的ProcessHome1Activity。当然,如果是在 Fragment 中,参考CompatKeyFragment,或者继承自CompatKeyFragment(外层的 Activity 还是继承自 AppCompat,并处理 onBackPress),详细参考 demo 中的ProcessHome2Activity.5.自定义控制界面public class CustomController extends NiceVideoPlayerController {
// 实现自己的控制界面
}三.Proguard-keep class tv.danmaku.ijk.media.player.**{*;}Demo
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 jiecaovieoplayer 的文章

 

随机推荐