Skip to content

Commit 7784c52

Browse files
alexhuangsterminggo
authored andcommitted
modify fdGetter (#19671)
* modify fdGetter * Check whether a music file is in the OBB file
1 parent 999414f commit 7784c52

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

cocos/audio/android/AudioEngine-inl.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ static int fdGetter(const std::string& url, off_t* start, off_t* length)
9797
{
9898
fd = getObbAssetFileDescriptorJNI(url.c_str(), start, length);
9999
}
100-
else
100+
101+
if (fd <= 0)
101102
{
102103
auto asset = AAssetManager_open(cocos2d::FileUtilsAndroid::getAssetManager(), url.c_str(), AASSET_MODE_UNKNOWN);
103104
// open asset as file descriptor

cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxMusic.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ private MediaPlayer createMediaPlayer(final String path) {
280280
mediaPlayer.setDataSource(fis.getFD());
281281
fis.close();
282282
} else {
283-
if (Cocos2dxHelper.getObbFile() != null) {
283+
if (Cocos2dxHelper.getObbFile() != null && Cocos2dxHelper.getObbFile().getAssetFileDescriptor(path) != null) {
284284
final AssetFileDescriptor assetFileDescriptor = Cocos2dxHelper.getObbFile().getAssetFileDescriptor(path);
285285
mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
286286
} else {

0 commit comments

Comments
 (0)