diff --git a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayer.java b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayer.java index 3d3a63113..39eb95ebf 100644 --- a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayer.java +++ b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayer.java @@ -1350,4 +1350,16 @@ public interface OnVideoRenderedListener{ } abstract public void setOnVideoRenderedListener(OnVideoRenderedListener l); + + /** + * 设置视频的背景色 + * + * @param color ARGB + * + */ + /**** + * Set video background color + * @param color ARGB + */ + abstract public void setVideoBackgroundColor(int color); } diff --git a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerImpl.java b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerImpl.java index 80c613270..7cb9ab194 100644 --- a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerImpl.java +++ b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerImpl.java @@ -1045,6 +1045,11 @@ public void setOnVideoRenderedListener(OnVideoRenderedListener listener){ } } + @Override + public void setVideoBackgroundColor(int color) { + mCorePlayer.setVideoBackgroundColor(color); + } + } diff --git a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/nativeclass/NativePlayerBase.java b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/nativeclass/NativePlayerBase.java index c5443f1de..d99afc375 100644 --- a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/nativeclass/NativePlayerBase.java +++ b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/nativeclass/NativePlayerBase.java @@ -341,6 +341,9 @@ public CicadaPlayer.ScaleMode getScaleMode() { } } + public void setVideoBackgroundColor(int color) { + nSetVideoBackgroundColor(color); + } public void setRotateMode(CicadaPlayer.RotateMode rotateMode) { int rotateValue = rotateMode.getValue(); @@ -501,6 +504,8 @@ public static void setBlackType(int type) { protected native void nReload(); + protected native void nSetVideoBackgroundColor(int color); + protected native void nSetScaleMode(int mode); protected native int nGetScaleMode(); diff --git a/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp b/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp index b3406a57e..302d738e8 100644 --- a/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp +++ b/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp @@ -813,6 +813,17 @@ void NativeBase::java_SetDefaultBandWidth(JNIEnv *env, jobject instance, jint de } } +void NativeBase::java_SetVideoBackgroundColor(JNIEnv *env, jobject instance, jint color) +{ + MediaPlayer *player = getPlayer(env, instance); + + if (player == nullptr) { + return ; + } + + return player->SetVideoBackgroundColor((uint32_t) color); +} + //callback... void NativeBase::init(JNIEnv *env) @@ -920,9 +931,10 @@ static JNINativeMethod nativePlayer_method_table[] = { {"nSetVolume", "(F)V", (void *) NativeBase::java_SetVolume}, {"nGetVolume", "()F", (void *) NativeBase::java_GetVolume}, {"nSeekTo", "(JI)V", (void *) NativeBase::java_SeekTo}, - {"nSetMaxAccurateSeekDelta", "(I)V", (void *) NativeBase::java_SetMaxAccurateSeekDelta}, + {"nSetMaxAccurateSeekDelta", "(I)V", (void *) NativeBase::java_SetMaxAccurateSeekDelta}, {"nStop", "()V", (void *) NativeBase::java_Stop}, {"nRelease", "()V", (void *) NativeBase::java_Release}, + {"nSetVideoBackgroundColor","(I)V", (void *) NativeBase::java_SetVideoBackgroundColor}, {"nGetDuration", "()J", (void *) NativeBase::java_GetDuration}, {"nGetCurrentStreamInfo", "(I)Ljava/lang/Object;", (void *) NativeBase::java_GetCurrentStreamInfo}, {"nGetCurrentPosition", "()J", (void *) NativeBase::java_GetCurrentPosition}, diff --git a/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.h b/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.h index 5bdb4799d..11d9f1ad9 100644 --- a/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.h +++ b/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.h @@ -97,6 +97,8 @@ class NativeBase { static void java_SetLoop(JNIEnv *env, jobject instance, jboolean on); + static void java_SetVideoBackgroundColor(JNIEnv *env, jobject instance, jint color); + static jboolean java_IsLoop(JNIEnv *env, jobject instance); static jint java_GetVideoWidth(JNIEnv *env, jobject instance);