| 
					
				 | 
			
			
				@@ -18,6 +18,7 @@ import com.jinmingyunle.midiplaylib.midifile.MidiTrack; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.jinmingyunle.midiplaylib.utils.Utils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.un4seen.bass.BASS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Collections; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -517,7 +518,7 @@ public class MidiPlayerUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void playSound(Context context, float speed) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (BassMusicPlay.getInstance().LoadSoundFont(context.getApplicationContext().getExternalFilesDir("colexiu") + "/dysf.sf2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (BassMusicPlay.getInstance().LoadSoundFont(getCacheDir(context, "colexiu") + "/dysf.sf2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (currentStartPosition != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BassMusicPlay.getInstance().Seek(currentStartPosition); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -543,7 +544,7 @@ public class MidiPlayerUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (compleListener != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BassMusicPlay.getInstance().SetOnCompletionListener(compleListener); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (BassMusicPlay.getInstance().LoadSoundFont(mContext.getApplicationContext().getExternalFilesDir("colexiu") + "/dysf.sf2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (BassMusicPlay.getInstance().LoadSoundFont(getCacheDir(mContext, "colexiu") + "/dysf.sf2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (currentStartPosition != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BassMusicPlay.getInstance().Seek(currentStartPosition); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -558,4 +559,17 @@ public class MidiPlayerUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static String getCacheDir(Context context, String directory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String fileDir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            File file = new File(context.getExternalCacheDir() + File.separator + directory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                file.mkdirs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fileDir = file.getAbsolutePath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return fileDir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |