Browse Source

1,修改字幕后不显示 LOADDING view 静默转换 2, 如果点击播放 BTN 时 变音还有没有完成的 ,在变音完成后进行自动播放

jsonwang 3 years ago
parent
commit
f1cb3c0eaa

+ 15 - 6
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -604,6 +604,9 @@ public class BFRecordScreenController: BFBaseViewController {
         return audioQueueRecoderLabel
 
     }()
+    
+    //变音完成后是否自动播放,当前版本只有手动点击播放时,完成后自动进行播放
+    var voiceFinishAutoPlay:Bool = false
 
     // MARK: - ----------------- 生命周期
 
@@ -772,7 +775,7 @@ public class BFRecordScreenController: BFBaseViewController {
             // 更新缓存数据
             if index < (wself.itemModels[wself.currItemModelIndex ].titleStickers.count ) {
                 //add by ak 1刷新变音缓存
-                let deleteTaskids:[String]? = wself.tts?.changedTitle(newtext, oldText:      wself.itemModels[wself.currItemModelIndex ].titleStickers[index].text) as? [String]
+                let deleteTaskids:[String]? = wself.tts?.changedTitle(newtext, oldText:wself.itemModels[wself.currItemModelIndex ].titleStickers[index].text) as? [String]
                 
                 //2刷新变量后的老音频数据
                 if((deleteTaskids?.count ?? 0) > 0){
@@ -796,15 +799,15 @@ public class BFRecordScreenController: BFBaseViewController {
                     wself.subtitleLabel.text = ""
                 } else {
                     
-                    //如果当前段有没有转完的发音人显示 Loadingview
-                    if(!wself.voiceChangeStickerFinish(itemIndex: wself.currItemModelIndex,isShowLoadView: true)){
-                        return
-                    }
-               
+              
                     //更新已经变音数据
                     // 更新数据
                     wself.itemModels[wself.currItemModelIndex ].titleStickers[index].text = newtext
                     wself.subtitleLabel.text = newtext
+                    
+                    //静默进行变音任务
+                    wself.tts?.runNextTask()
+
                 }
             }
 
@@ -2143,6 +2146,7 @@ public class BFRecordScreenController: BFBaseViewController {
     func play() {
         //如果当前段有没有转完的发音人显示 Loadingview
         if(!voiceChangeStickerFinish(itemIndex: currItemModelIndex,isShowLoadView: true)){
+            voiceFinishAutoPlay = true
             return
         }
 
@@ -2862,6 +2866,11 @@ extension BFRecordScreenController: BFTTSManagerDelegte{
             
             if(voiceChangeStickerFinish(itemIndex: currItemModelIndex)){
                 loadingView.loadHidden()
+                //完成后自动进行播放逻辑
+                if(voiceFinishAutoPlay){
+                    voiceFinishAutoPlay = false
+                    play()
+                }
             }
         }