Pq 3 лет назад
Родитель
Сommit
0d74aaae7e
1 измененных файлов с 14 добавлено и 4 удалено
  1. 14 4
      midiplaylib/src/main/java/com/jinmingyunle/midiplaylib/MidiPlayerUtils.java

+ 14 - 4
midiplaylib/src/main/java/com/jinmingyunle/midiplaylib/MidiPlayerUtils.java

@@ -87,7 +87,7 @@ public class MidiPlayerUtils {
         byte[] data = fileuri.getData(mContext);
         byte[] data = fileuri.getData(mContext);
         String id;
         String id;
         int len;
         int len;
-
+        midiTotalTime = 0;
         tracks.clear();
         tracks.clear();
         trackSelected.clear();
         trackSelected.clear();
         boolean trackPerChannel = false;
         boolean trackPerChannel = false;
@@ -117,6 +117,12 @@ public class MidiPlayerUtils {
             }
             }
         }
         }
         for (int i = 0; i < tracks.size(); i++) {
         for (int i = 0; i < tracks.size(); i++) {
+            MidiTrack midiTrack = tracks.get(i);
+//            Log.i("pq", "midiTotalTime:" + midiTotalTime);
+////            Log.i("pq", "midiTrack:" + midiTrack.getTime());
+////            Log.i("pq", "midiTrack getTrackName:" + midiTrack.getTrackName());
+////            Log.i("pq", "midiTrack getInstrument:" + midiTrack.getInstrument());
+////            Log.i("pq", "midiTrack getInstrumentName:" + midiTrack.getInstrumentName());
             midiTotalTime = midiTotalTime > tracks.get(i).getTime() ? midiTotalTime : tracks.get(i).getTime();
             midiTotalTime = midiTotalTime > tracks.get(i).getTime() ? midiTotalTime : tracks.get(i).getTime();
         }
         }
         return hasNoteTrackNum;
         return hasNoteTrackNum;
@@ -303,7 +309,8 @@ public class MidiPlayerUtils {
             return false;
             return false;
         }
         }
     }
     }
-    public float getTrackVolume(int track){
+
+    public float getTrackVolume(int track) {
         return BassMusicPlay.getInstance().GetTrackVolume(track);
         return BassMusicPlay.getInstance().GetTrackVolume(track);
     }
     }
 
 
@@ -352,6 +359,7 @@ public class MidiPlayerUtils {
     public boolean setNoteFineTune(int trackNum, int targetHz) {
     public boolean setNoteFineTune(int trackNum, int targetHz) {
         return BassMusicPlay.getInstance().setNoteFineTune(trackNum, targetHz);
         return BassMusicPlay.getInstance().setNoteFineTune(trackNum, targetHz);
     }
     }
+
     /**
     /**
      * 获取当前播放进度
      * 获取当前播放进度
      *
      *
@@ -387,6 +395,7 @@ public class MidiPlayerUtils {
     public double getTotalLength2Second() {
     public double getTotalLength2Second() {
         return BassMusicPlay.getInstance().getTotalLength2Second();
         return BassMusicPlay.getInstance().getTotalLength2Second();
     }
     }
+
     public void setCompletionListener(PlayerListener.OnCompletionListener listener) {
     public void setCompletionListener(PlayerListener.OnCompletionListener listener) {
         BassMusicPlay.getInstance().SetOnCompletionListener(listener);
         BassMusicPlay.getInstance().SetOnCompletionListener(listener);
     }
     }
@@ -411,7 +420,7 @@ public class MidiPlayerUtils {
     private Runnable doPlay = new Runnable() {
     private Runnable doPlay = new Runnable() {
         @Override
         @Override
         public void run() {
         public void run() {
-            playSound(mContext,  currentTempo);
+            playSound(mContext, currentTempo);
             return;
             return;
         }
         }
     };
     };
@@ -431,6 +440,7 @@ public class MidiPlayerUtils {
 
 
     /**
     /**
      * 提供给h5调用的midi播放
      * 提供给h5调用的midi播放
+     *
      * @param speed
      * @param speed
      * @param hertz
      * @param hertz
      * @param listener
      * @param listener
@@ -447,7 +457,7 @@ public class MidiPlayerUtils {
             if (currentStartPosition != 0) {
             if (currentStartPosition != 0) {
                 BassMusicPlay.getInstance().Seek(currentStartPosition);
                 BassMusicPlay.getInstance().Seek(currentStartPosition);
             }
             }
-            for(int i=0; i<tracks.size(); i++){
+            for (int i = 0; i < tracks.size(); i++) {
                 BassMusicPlay.getInstance().setNoteFineTune(i, hertz);
                 BassMusicPlay.getInstance().setNoteFineTune(i, hertz);
             }
             }
             BassMusicPlay.getInstance().setSpeed(speed);
             BassMusicPlay.getInstance().setSpeed(speed);