From 3e8c4fe595ec1bf2bedba4e4e14e6bee5bd9926e Mon Sep 17 00:00:00 2001 From: HALX99 Date: Fri, 8 Mar 2019 00:40:21 +0800 Subject: [PATCH 1/2] Fix bug: can't play video in obbfile. --- .../java/src/org/cocos2dx/lib/Cocos2dxVideoView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java index b97c551720f5..d52e33dafb31 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java @@ -307,7 +307,11 @@ private void openVideo() { mDuration = -1; mCurrentBufferPercentage = 0; if (mIsAssetRouse) { - AssetFileDescriptor afd = mCocos2dxActivity.getAssets().openFd(mVideoFilePath); + AssetFileDescriptor afd = null; + if (Cocos2dxHelper.getObbFile() != null) { + afd = Cocos2dxHelper.getObbFile() .getAssetFileDescriptor(mVideoFilePath); + } + if(afd == null) afd = mCocos2dxActivity.getAssets().openFd(mVideoFilePath); mMediaPlayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); } else { mMediaPlayer.setDataSource(mCocos2dxActivity, mVideoUri); From 45033446ec97f7fe7ceeccf900ab5869e83ba9ce Mon Sep 17 00:00:00 2001 From: HALX99 Date: Mon, 8 Apr 2019 10:21:54 +0800 Subject: [PATCH 2/2] Change check order. --- .../android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java index d52e33dafb31..93ea3e3b134b 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java @@ -307,11 +307,10 @@ private void openVideo() { mDuration = -1; mCurrentBufferPercentage = 0; if (mIsAssetRouse) { - AssetFileDescriptor afd = null; - if (Cocos2dxHelper.getObbFile() != null) { + AssetFileDescriptor afd = mCocos2dxActivity.getAssets().openFd(mVideoFilePath); + if (afd == null && Cocos2dxHelper.getObbFile() != null) { afd = Cocos2dxHelper.getObbFile() .getAssetFileDescriptor(mVideoFilePath); } - if(afd == null) afd = mCocos2dxActivity.getAssets().openFd(mVideoFilePath); mMediaPlayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); } else { mMediaPlayer.setDataSource(mCocos2dxActivity, mVideoUri);