package services import ( "eta/eta_pub/models" "eta/eta_pub/services/audio" "eta/eta_pub/utils" "fmt" "os" "path" ) // HandleVideoDecibel 处理报告中的音频文件 func HandleVideoDecibel(chapterInfo *models.ReportChapter) { var err error //fmt.Println("开始 处理报告中的音频文件") defer func() { if err != nil { utils.FileLog.Info(fmt.Sprint(chapterInfo.ReportChapterId, "处理报告中的音频分贝失败:"+err.Error())) } }() inputFile, err := utils.DownloadFile(chapterInfo.VideoUrl, "./static/tmpFile/") if err != nil { return } // 删除下载的临时音频文件 defer func() { os.Remove(inputFile) }() outFileName, ok, _ := audio.ConvAudioDecibel(inputFile) if !ok { return } // 删除分贝变更后的音频文件 defer func() { os.Remove(outFileName) }() // 如果输入与输出文件名一致,那么就不需要覆盖 if outFileName == inputFile { return } // 音频分贝改变了,需要替换音频文件 //上传到阿里云 resourceUrl, err := UploadAliYun(path.Base(outFileName), outFileName) if err != nil { return } // 更改表中的音频地址 chapterInfo.OriginalVideoUrl = chapterInfo.VideoUrl chapterInfo.VideoUrl = resourceUrl err = chapterInfo.UpdateChapter([]string{"OriginalVideoUrl", "VideoUrl"}) return }