前沿拓展:
一飛開源,介紹創(chuàng)意、新奇、有趣、實用的免費開源應(yīng)用、系統(tǒng)、軟件、硬件及技術(shù),一個探索、發(fā)現(xiàn)、分享、使用與互動交流的開源技術(shù)社區(qū)平臺。致力于打造活力開源社區(qū),共建開源新生態(tài)!
一、開源項目簡介
支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解碼器切換、支持靜音、鏡像、渲染模式、倍速設(shè)置等功能的輕便級播放器,支持自定**碼器、控制器、UI交互組件和懸浮窗播放能力等
二、開源協(xié)議
使用Apache-2.0開源協(xié)議
三、界面展示SDK及Demo部分功能預(yù)覽
四、功能概述SDK基礎(chǔ)功能:支持網(wǎng)絡(luò)地址、直播流、本地Assets和Raw資源文件播放支持播放倍速、縮放模式、靜音、鏡像等功能設(shè)置支持自定義視頻解碼器、控制器、UI交互組件、視頻畫面渲染器支持多播放器同時播放SDK默認控制器(局部UI交互可自定義)支持手勢控制、付費試看等交互支持任意位置啟動Activity級別懸浮窗口播放支持任意位置啟動全局懸浮窗口播放支持任意位置直接啟動全屏播放支持連續(xù)播放視頻列表Demo:列表或組件之間無縫轉(zhuǎn)場播放Demo:全局懸浮窗播放轉(zhuǎn)場跳轉(zhuǎn)ActivityDemo:MediaPlayer、IjkPlayer、ExoPlayer三種解碼器切換Demo:仿抖音,支持視頻緩存、秒播Demo:彈幕交互Demo:Android8.0+畫中畫示例五、技術(shù)選型播放器框架結(jié)構(gòu)圖
如圖所示,通過架構(gòu)圖可以直觀的看到面向用戶層的模塊和交互都支持自定義,也包括視頻解碼器在內(nèi)。SDK集成建議集成前先下載apk體驗,找到自己想要實現(xiàn)的功能模塊,后續(xù)集成可參考demo源碼。1、項目根build.gradle及模塊build.gradle配置 //1.在你的根build.gradle中添加:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
//2.在你的模塊build.gradle中添加:
dependencies {
//播放器
implementation 'com.github.hty527.iPlayer:iplayer:2.0.4.1'
//ijk音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:ijk:2.0.4.1'
//exo音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:exo:2.0.4.1'
//音視頻預(yù)緩存+邊播邊存,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:cache:2.0.4.1'
}
2、在需要播放視頻的xml中添加如下代碼,或在適合的位置new VideoPlayer() <com.android.iplayer.widget.VideoPlayer
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="200dp"/>
3、播放器準(zhǔn)備及開始播放 mVideoPlayer = (VideoPlayer) fin**iewById(R.id.video_player);
mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度設(shè)置為:match_parent
//使用SDK自帶控制器+各UI交互組件
VideoController controller = mVideoPlayer.initController();
//設(shè)置視頻標(biāo)題(僅橫屏狀態(tài)可見)
controller.setTitle("測試地址播放");
//設(shè)置播放源
mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4");
//異步開始準(zhǔn)備播放
mVideoPlayer.prepareAsync();
4、生命周期處理 @Override
protected void onResume() {
super.onResume();
mVideoPlayer.onResume();
}
@Override
protected void onPause() {
super.onPause();
mVideoPlayer.onPause();
}
@Override
public void onBackPressed() {
if(mVideoPlayer.i**ackPressed()){
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mVideoPlayer.onDestroy();
}
5、常用API、更換解碼器、自定**碼器、UI交互組件和懸浮窗口播放等功能請閱讀wiki六、源碼地址
訪問一飛開源:https://code.exmay.com/
拓展知識:
前沿拓展:
一飛開源,介紹創(chuàng)意、新奇、有趣、實用的免費開源應(yīng)用、系統(tǒng)、軟件、硬件及技術(shù),一個探索、發(fā)現(xiàn)、分享、使用與互動交流的開源技術(shù)社區(qū)平臺。致力于打造活力開源社區(qū),共建開源新生態(tài)!
一、開源項目簡介
支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解碼器切換、支持靜音、鏡像、渲染模式、倍速設(shè)置等功能的輕便級播放器,支持自定**碼器、控制器、UI交互組件和懸浮窗播放能力等
二、開源協(xié)議
使用Apache-2.0開源協(xié)議
三、界面展示SDK及Demo部分功能預(yù)覽
四、功能概述SDK基礎(chǔ)功能:支持網(wǎng)絡(luò)地址、直播流、本地Assets和Raw資源文件播放支持播放倍速、縮放模式、靜音、鏡像等功能設(shè)置支持自定義視頻解碼器、控制器、UI交互組件、視頻畫面渲染器支持多播放器同時播放SDK默認控制器(局部UI交互可自定義)支持手勢控制、付費試看等交互支持任意位置啟動Activity級別懸浮窗口播放支持任意位置啟動全局懸浮窗口播放支持任意位置直接啟動全屏播放支持連續(xù)播放視頻列表Demo:列表或組件之間無縫轉(zhuǎn)場播放Demo:全局懸浮窗播放轉(zhuǎn)場跳轉(zhuǎn)ActivityDemo:MediaPlayer、IjkPlayer、ExoPlayer三種解碼器切換Demo:仿抖音,支持視頻緩存、秒播Demo:彈幕交互Demo:Android8.0+畫中畫示例五、技術(shù)選型播放器框架結(jié)構(gòu)圖
如圖所示,通過架構(gòu)圖可以直觀的看到面向用戶層的模塊和交互都支持自定義,也包括視頻解碼器在內(nèi)。SDK集成建議集成前先下載apk體驗,找到自己想要實現(xiàn)的功能模塊,后續(xù)集成可參考demo源碼。1、項目根build.gradle及模塊build.gradle配置 //1.在你的根build.gradle中添加:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
//2.在你的模塊build.gradle中添加:
dependencies {
//播放器
implementation 'com.github.hty527.iPlayer:iplayer:2.0.4.1'
//ijk音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:ijk:2.0.4.1'
//exo音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:exo:2.0.4.1'
//音視頻預(yù)緩存+邊播邊存,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:cache:2.0.4.1'
}
2、在需要播放視頻的xml中添加如下代碼,或在適合的位置new VideoPlayer() <com.android.iplayer.widget.VideoPlayer
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="200dp"/>
3、播放器準(zhǔn)備及開始播放 mVideoPlayer = (VideoPlayer) fin**iewById(R.id.video_player);
mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度設(shè)置為:match_parent
//使用SDK自帶控制器+各UI交互組件
VideoController controller = mVideoPlayer.initController();
//設(shè)置視頻標(biāo)題(僅橫屏狀態(tài)可見)
controller.setTitle("測試地址播放");
//設(shè)置播放源
mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4");
//異步開始準(zhǔn)備播放
mVideoPlayer.prepareAsync();
4、生命周期處理 @Override
protected void onResume() {
super.onResume();
mVideoPlayer.onResume();
}
@Override
protected void onPause() {
super.onPause();
mVideoPlayer.onPause();
}
@Override
public void onBackPressed() {
if(mVideoPlayer.i**ackPressed()){
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mVideoPlayer.onDestroy();
}
5、常用API、更換解碼器、自定**碼器、UI交互組件和懸浮窗口播放等功能請閱讀wiki六、源碼地址
訪問一飛開源:https://code.exmay.com/
拓展知識:
前沿拓展:
一飛開源,介紹創(chuàng)意、新奇、有趣、實用的免費開源應(yīng)用、系統(tǒng)、軟件、硬件及技術(shù),一個探索、發(fā)現(xiàn)、分享、使用與互動交流的開源技術(shù)社區(qū)平臺。致力于打造活力開源社區(qū),共建開源新生態(tài)!
一、開源項目簡介
支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解碼器切換、支持靜音、鏡像、渲染模式、倍速設(shè)置等功能的輕便級播放器,支持自定**碼器、控制器、UI交互組件和懸浮窗播放能力等
二、開源協(xié)議
使用Apache-2.0開源協(xié)議
三、界面展示SDK及Demo部分功能預(yù)覽
四、功能概述SDK基礎(chǔ)功能:支持網(wǎng)絡(luò)地址、直播流、本地Assets和Raw資源文件播放支持播放倍速、縮放模式、靜音、鏡像等功能設(shè)置支持自定義視頻解碼器、控制器、UI交互組件、視頻畫面渲染器支持多播放器同時播放SDK默認控制器(局部UI交互可自定義)支持手勢控制、付費試看等交互支持任意位置啟動Activity級別懸浮窗口播放支持任意位置啟動全局懸浮窗口播放支持任意位置直接啟動全屏播放支持連續(xù)播放視頻列表Demo:列表或組件之間無縫轉(zhuǎn)場播放Demo:全局懸浮窗播放轉(zhuǎn)場跳轉(zhuǎn)ActivityDemo:MediaPlayer、IjkPlayer、ExoPlayer三種解碼器切換Demo:仿抖音,支持視頻緩存、秒播Demo:彈幕交互Demo:Android8.0+畫中畫示例五、技術(shù)選型播放器框架結(jié)構(gòu)圖
如圖所示,通過架構(gòu)圖可以直觀的看到面向用戶層的模塊和交互都支持自定義,也包括視頻解碼器在內(nèi)。SDK集成建議集成前先下載apk體驗,找到自己想要實現(xiàn)的功能模塊,后續(xù)集成可參考demo源碼。1、項目根build.gradle及模塊build.gradle配置 //1.在你的根build.gradle中添加:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
//2.在你的模塊build.gradle中添加:
dependencies {
//播放器
implementation 'com.github.hty527.iPlayer:iplayer:2.0.4.1'
//ijk音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:ijk:2.0.4.1'
//exo音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:exo:2.0.4.1'
//音視頻預(yù)緩存+邊播邊存,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:cache:2.0.4.1'
}
2、在需要播放視頻的xml中添加如下代碼,或在適合的位置new VideoPlayer() <com.android.iplayer.widget.VideoPlayer
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="200dp"/>
3、播放器準(zhǔn)備及開始播放 mVideoPlayer = (VideoPlayer) fin**iewById(R.id.video_player);
mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度設(shè)置為:match_parent
//使用SDK自帶控制器+各UI交互組件
VideoController controller = mVideoPlayer.initController();
//設(shè)置視頻標(biāo)題(僅橫屏狀態(tài)可見)
controller.setTitle("測試地址播放");
//設(shè)置播放源
mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4");
//異步開始準(zhǔn)備播放
mVideoPlayer.prepareAsync();
4、生命周期處理 @Override
protected void onResume() {
super.onResume();
mVideoPlayer.onResume();
}
@Override
protected void onPause() {
super.onPause();
mVideoPlayer.onPause();
}
@Override
public void onBackPressed() {
if(mVideoPlayer.i**ackPressed()){
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mVideoPlayer.onDestroy();
}
5、常用API、更換解碼器、自定**碼器、UI交互組件和懸浮窗口播放等功能請閱讀wiki六、源碼地址
訪問一飛開源:https://code.exmay.com/
拓展知識:
前沿拓展:
一飛開源,介紹創(chuàng)意、新奇、有趣、實用的免費開源應(yīng)用、系統(tǒng)、軟件、硬件及技術(shù),一個探索、發(fā)現(xiàn)、分享、使用與互動交流的開源技術(shù)社區(qū)平臺。致力于打造活力開源社區(qū),共建開源新生態(tài)!
一、開源項目簡介
支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解碼器切換、支持靜音、鏡像、渲染模式、倍速設(shè)置等功能的輕便級播放器,支持自定**碼器、控制器、UI交互組件和懸浮窗播放能力等
二、開源協(xié)議
使用Apache-2.0開源協(xié)議
三、界面展示SDK及Demo部分功能預(yù)覽
四、功能概述SDK基礎(chǔ)功能:支持網(wǎng)絡(luò)地址、直播流、本地Assets和Raw資源文件播放支持播放倍速、縮放模式、靜音、鏡像等功能設(shè)置支持自定義視頻解碼器、控制器、UI交互組件、視頻畫面渲染器支持多播放器同時播放SDK默認控制器(局部UI交互可自定義)支持手勢控制、付費試看等交互支持任意位置啟動Activity級別懸浮窗口播放支持任意位置啟動全局懸浮窗口播放支持任意位置直接啟動全屏播放支持連續(xù)播放視頻列表Demo:列表或組件之間無縫轉(zhuǎn)場播放Demo:全局懸浮窗播放轉(zhuǎn)場跳轉(zhuǎn)ActivityDemo:MediaPlayer、IjkPlayer、ExoPlayer三種解碼器切換Demo:仿抖音,支持視頻緩存、秒播Demo:彈幕交互Demo:Android8.0+畫中畫示例五、技術(shù)選型播放器框架結(jié)構(gòu)圖
如圖所示,通過架構(gòu)圖可以直觀的看到面向用戶層的模塊和交互都支持自定義,也包括視頻解碼器在內(nèi)。SDK集成建議集成前先下載apk體驗,找到自己想要實現(xiàn)的功能模塊,后續(xù)集成可參考demo源碼。1、項目根build.gradle及模塊build.gradle配置 //1.在你的根build.gradle中添加:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
//2.在你的模塊build.gradle中添加:
dependencies {
//播放器
implementation 'com.github.hty527.iPlayer:iplayer:2.0.4.1'
//ijk音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:ijk:2.0.4.1'
//exo音視頻解碼器,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:exo:2.0.4.1'
//音視頻預(yù)緩存+邊播邊存,根據(jù)需要使用
//implementation 'com.github.hty527.iPlayer:cache:2.0.4.1'
}
2、在需要播放視頻的xml中添加如下代碼,或在適合的位置new VideoPlayer() <com.android.iplayer.widget.VideoPlayer
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="200dp"/>
3、播放器準(zhǔn)備及開始播放 mVideoPlayer = (VideoPlayer) fin**iewById(R.id.video_player);
mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度設(shè)置為:match_parent
//使用SDK自帶控制器+各UI交互組件
VideoController controller = mVideoPlayer.initController();
//設(shè)置視頻標(biāo)題(僅橫屏狀態(tài)可見)
controller.setTitle("測試地址播放");
//設(shè)置播放源
mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4");
//異步開始準(zhǔn)備播放
mVideoPlayer.prepareAsync();
4、生命周期處理 @Override
protected void onResume() {
super.onResume();
mVideoPlayer.onResume();
}
@Override
protected void onPause() {
super.onPause();
mVideoPlayer.onPause();
}
@Override
public void onBackPressed() {
if(mVideoPlayer.i**ackPressed()){
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mVideoPlayer.onDestroy();
}
5、常用API、更換解碼器、自定**碼器、UI交互組件和懸浮窗口播放等功能請閱讀wiki六、源碼地址
訪問一飛開源:https://code.exmay.com/
拓展知識:
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http://xiesong.cn/3992.html