Bläddra i källkod

修改作品合成流程谱面URL

Pq 9 månader sedan
förälder
incheckning
7c5bfb6dcf

+ 9 - 4
BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java

@@ -22,12 +22,13 @@ public abstract class WebConstants {
     public static final String WEB_SOCKET_URL_PRERELEASE = "wss://dev.kt.colexiu.com/audioAnalysis_kt";
 
     public static String getCustomUAParams() {
-        if(BaseApplication.Companion.isTeacherClient()){
+        if (BaseApplication.Companion.isTeacherClient()) {
             return WEB_UA_PARAMS_TEACHER;
-        }else{
+        } else {
             return WEB_UA_PARAMS_STUDENT;
         }
     }
+
     public static String getWebSocketUrl() {
         if (TextUtils.equals("preRelease", BuildConfig.BUILD_TYPE)) {
             Log.i("WebConstants", "return webSocket:" + WEB_SOCKET_URL_PRERELEASE);
@@ -52,6 +53,10 @@ public abstract class WebConstants {
         return BaseApplication.Companion.isTeacherClient() ? getTeacherBaseUrlH5() : getStudentBaseUrlH5();
     }
 
+    private static String getAccompanyBaseUrl() {
+        return BuildConfig.BASE_SERVER_URL + "klx-music-score/";
+    }
+
     //直播课列表
     public static final String STUDENT_LIVE_CLASS = getBaseUrlH5() + "/#/liveClass";
     //视频课列表
@@ -147,7 +152,7 @@ public abstract class WebConstants {
     //曲谱审核失败 - 重新编辑页面
     public static final String EDIT_SCORE_PAGE = getBaseUrlH5() + "/#/music-upload/%s/edit";
     //曲谱审核成功
-    public static final String SCORE_DETAIL_PAGE = BuildConfig.BASE_SERVER_URL +"klx-music-score/"+ "?id=%s";
+    public static final String SCORE_DETAIL_PAGE = getAccompanyBaseUrl() + "?id=%s";
     //老师端提现签署协议页面
     public static final String PROTOCOL_SIGN_BY_TEACHER_WIYHDRAW = getBaseUrlH5() + "/#/cashProtocol";
     //老师端交易记录页面
@@ -186,5 +191,5 @@ public abstract class WebConstants {
         return WebConstants.WEB_UA_PARAMS + WebConstants.getCustomUAParams();
     }
 
-    public static final String WORKS_MUSIC_SCORE = getBaseUrlH5() + "#/simple-detail?id=%s&musicRenderType=%s&part-index=%s";////作品合成单行铺面
+    public static final String WORKS_MUSIC_SCORE = getAccompanyBaseUrl() + "#/simple-detail?id=%s&musicRenderType=%s&part-index=%s";////作品合成单行铺面
 }

+ 1 - 2
musicMerge/src/main/java/com/cooleshow/musicmerge/ui/MusicHandleActivity_.java

@@ -199,8 +199,7 @@ public class MusicHandleActivity_ extends BaseMVPActivity<AcMusicHandleLayoutBin
     private String createUrl(String musicId, String musicRenderType) {
         //五线谱:staff、简谱:firstTone、固定音高:fixedTone
 //        return "https://dev.kt.colexiu.com/instrument/#/simple-detail?id=1001728&musicRenderType=staff";
-        return "https://www.baidu.com";
-//        return WebStartHelper.getWorksMusicScoreUrl(musicId, musicRenderType,String.valueOf(partIndex), isVideo);
+        return WebStartHelper.getWorksMusicScoreUrl(musicId, musicRenderType,String.valueOf(partIndex), isVideo);
     }
 
     private void initSurfaceView() {

+ 8 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/web/AccompanyFragment.java

@@ -1760,13 +1760,15 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
             midiFileSpeed = obj.optInt("speed", 120);
             midiSongId = obj.optString("songID");
             hertz = obj.optInt("hertz", 440);
+            int startTime = obj.optInt("startTime", 0);
+            startTime = this.convertPlayMidPosFromTime(startTime);
             if (MidiPlayerUtils.getInstance().isPause()) {
-                MidiPlayerUtils.getInstance().resumePlay();
+                MidiPlayerUtils.getInstance().resumePlay(startTime);
                 loopHandler.sendEmptyMessage(1);
                 onSendMessage(message.toString());
             } else {
                 loopHandler.removeMessages(1);
-                MidiPlayerUtils.getInstance().playSound(
+                MidiPlayerUtils.getInstance().playSound(startTime,
                         (float) midiFileSpeed / (float) midiFileOriginalSpeed,
                         hertz,
                         fp -> {
@@ -1795,6 +1797,10 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
         }
     }
 
+    private int convertPlayMidPosFromTime(int time) {
+        return (int)((long)time * MidiPlayerUtils.getInstance().getTotalLength() / this.midiFileDuration);
+    }
+
     @Override
     public void cloudSuspend(JSONObject message) {
         try {