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