Skip to content

Commit bb2bf19

Browse files
author
jiajunhui
committed
publish 3.3.7
1 parent a1f1ec0 commit bb2bf19

10 files changed

Lines changed: 50 additions & 22 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,18 @@ demo示例集成了播放控制组件**ControllerCover**、加载中组件**Load
8282
dependencies {
8383
//---------如果仅使用MediaPlayer解码,使用以下依赖。----------
8484
//该依赖仅包含MediaPlayer解码
85-
implementation 'com.kk.taurus.playerbase:playerbase:3.3.6'
85+
implementation 'com.kk.taurus.playerbase:playerbase:3.3.7'
8686
8787
8888
//---------如果使用ExoPlayer解码,使用以下依赖。---------
8989
//该依赖包含exoplayer解码和MediaPlayer解码
9090
//注意exoplayer的最小支持SDK版本为16
91-
implementation 'cn.jiajunhui:exoplayer:336_2111_011'
91+
implementation 'cn.jiajunhui:exoplayer:337_2117_012'
9292
9393
9494
//---------如果使用ijkPlayer解码,使用以下依赖。---------
9595
//该依赖包含ijkplayer解码和MediaPlayer解码
96-
implementation 'cn.jiajunhui:ijkplayer:336_088_007'
96+
implementation 'cn.jiajunhui:ijkplayer:337_088_008'
9797
//ijk官方的解码库依赖,较少格式版本且不支持HTTPS。
9898
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
9999
# Other ABIs: optional

app/src/main/java/com/kk/taurus/avplayer/ui/MusicPlayActivity.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
import com.kk.taurus.playerbase.event.OnErrorEventListener;
2020
import com.kk.taurus.playerbase.event.OnPlayerEventListener;
2121

22+
/**
23+
* 音乐播放示例
24+
*/
2225
public class MusicPlayActivity extends AppCompatActivity implements OnPlayerEventListener {
2326

2427
private AVPlayer mPlayer;
@@ -57,16 +60,12 @@ public void onErrorEvent(int eventCode, Bundle bundle) {
5760
});
5861

5962
initMusicWave();
63+
updateVisualizer();
6064
}
6165

6266
@Override
6367
public void onPlayerEvent(int eventCode, Bundle bundle) {
64-
switch (eventCode){
65-
case OnPlayerEventListener.PLAYER_EVENT_ON_PREPARED:
66-
releaseVisualizer();
67-
updateVisualizer();
68-
break;
69-
}
68+
7069
}
7170

7271
private void initMusicWave() {

build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ project.ext {
3939
ijksdkVersion = '0.8.8',
4040
exoplayersdkVersion = '2.11.7',
4141
appcompatVersion = '1.1.0',
42-
playerbaseVersion = '3.3.6'
42+
43+
playerbaseIjkVersion = '337_088_008',
44+
playerbaseExoVersion = '337_2117_012',
45+
playerbaseVersion = '3.3.7'
4346
]
4447

4548
}

exoplayer/bintray.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'com.github.dcendents.android-maven'
22
apply plugin: 'com.jfrog.bintray'
33

44
// 这个version是区分library版本的,因此当我们需要更新library时记得修改这个version
5-
version = "336_2111_011"
5+
version = rootProject.ext.playerbaseExoVersion
66

77
def siteUrl = 'https://github.com/jiajunhui/PlayerBase' // 项目的主页
88
def gitUrl = 'https://github.com/jiajunhui/PlayerBase.git' // Git仓库的url

exoplayer/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ dependencies {
3434
api "com.google.android.exoplayer:exoplayer-dash:$exoplayersdkVersion"
3535
api "com.google.android.exoplayer:exoplayer-hls:$exoplayersdkVersion"
3636
api "com.google.android.exoplayer:exoplayer-smoothstreaming:$exoplayersdkVersion"
37-
// api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
38-
api project(':playerbase')
37+
api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
38+
// api project(':playerbase')
3939
}

exoplayer/src/main/java/com/kk/taurus/exoplayer/ExoMediaPlayer.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import com.google.android.exoplayer2.source.ExtractorMediaSource;
3535
import com.google.android.exoplayer2.source.MediaSource;
3636
import com.google.android.exoplayer2.source.MergingMediaSource;
37+
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
3738
import com.google.android.exoplayer2.source.SingleSampleMediaSource;
3839
import com.google.android.exoplayer2.source.TrackGroupArray;
3940
import com.google.android.exoplayer2.source.dash.DashMediaSource;
@@ -210,7 +211,7 @@ private MediaSource getMediaSource(Uri uri, com.google.android.exoplayer2.upstre
210211
case C.TYPE_OTHER:
211212
default:
212213
// This is the MediaSource representing the media to be played.
213-
return new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
214+
return new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
214215
}
215216
}
216217

@@ -482,17 +483,23 @@ public void onPlayerError(ExoPlaybackException error) {
482483
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_UNKNOWN, null);
483484
return;
484485
}
485-
PLog.e(TAG,error.getMessage()==null?"":error.getMessage());
486+
String errorMessage = error.getMessage()==null?"":error.getMessage();
487+
Throwable cause = error.getCause();
488+
String causeMessage = cause!=null?cause.getMessage():"";
489+
PLog.e(TAG,errorMessage + ", causeMessage = " + causeMessage);
490+
Bundle bundle = BundlePool.obtain();
491+
bundle.putString("errorMessage", errorMessage);
492+
bundle.putString("causeMessage", causeMessage);
486493
int type = error.type;
487494
switch (type){
488495
case ExoPlaybackException.TYPE_SOURCE:
489-
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_IO, null);
496+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_IO, bundle);
490497
break;
491498
case ExoPlaybackException.TYPE_RENDERER:
492-
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_COMMON, null);
499+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_COMMON, bundle);
493500
break;
494501
case ExoPlaybackException.TYPE_UNEXPECTED:
495-
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_UNKNOWN, null);
502+
submitErrorEvent(OnErrorEventListener.ERROR_EVENT_UNKNOWN, bundle);
496503
break;
497504
}
498505
}

ijkplayer/bintray.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'com.github.dcendents.android-maven'
22
apply plugin: 'com.jfrog.bintray'
33

44
// 这个version是区分library版本的,因此当我们需要更新library时记得修改这个version
5-
version = "336_088_007"
5+
version = rootProject.ext.playerbaseIjkVersion
66

77
def siteUrl = 'https://github.com/jiajunhui/PlayerBase' // 项目的主页
88
def gitUrl = 'https://github.com/jiajunhui/PlayerBase.git' // Git仓库的url

ijkplayer/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ dependencies {
3131
implementation fileTree(include: ['*.jar'], dir: 'libs')
3232

3333
api "tv.danmaku.ijk.media:ijkplayer-java:$ijksdkVersion"
34-
// api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
35-
api project(':playerbase')
34+
api "com.kk.taurus.playerbase:playerbase:$playerbaseVersion"
35+
// api project(':playerbase')
3636
}

ijkplayer/src/main/java/com/kk/taurus/ijkplayer/IjkPlayer.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.kk.taurus.playerbase.player.BaseInternalPlayer;
2525

2626
import java.util.HashMap;
27+
import java.util.Set;
2728

2829
import tv.danmaku.ijk.media.player.IMediaPlayer;
2930
import tv.danmaku.ijk.media.player.IjkMediaPlayer;
@@ -62,6 +63,24 @@ public IjkPlayer() {
6263
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
6364
}
6465

66+
/**
67+
* ijkplayer的配置项设置
68+
* ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);
69+
*
70+
* @param code 对应setOption方法的第一个参数
71+
* @param bundle 对应第二个和第三个参数,key为配置项的名称,比如mediacodec,value为对应的配置值(long类型)
72+
*/
73+
@Override
74+
public void option(int code, Bundle bundle) {
75+
super.option(code, bundle);
76+
if(bundle!=null){
77+
Set<String> keySet = bundle.keySet();
78+
for(String key : keySet){
79+
mMediaPlayer.setOption(code, key, bundle.getLong(key));
80+
}
81+
}
82+
}
83+
6584
protected IjkMediaPlayer createPlayer(){
6685
IjkMediaPlayer ijkMediaPlayer = new IjkMediaPlayer();
6786
// ijkMediaPlayer.native_setLogLevel(IjkMediaPlayer.IJK_LOG_DEBUG);

playerbase/bintray.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'com.github.dcendents.android-maven'
22
apply plugin: 'com.jfrog.bintray'
33

44
// 这个version是区分library版本的,因此当我们需要更新library时记得修改这个version
5-
version = "3.3.6"
5+
version = rootProject.ext.playerbaseVersion
66

77
def siteUrl = 'https://github.com/jiajunhui/PlayerBase' // 项目的主页
88
def gitUrl = 'https://github.com/jiajunhui/PlayerBase.git' // Git仓库的url

0 commit comments

Comments
 (0)