Roc 1 年之前
父節點
當前提交
abb40f0c09
共有 1 個文件被更改,包括 13 次插入9 次删除
  1. 13 9
      services/media.go

+ 13 - 9
services/media.go

@@ -1,15 +1,19 @@
 package services
 
+import (
+	"github.com/tosone/minimp3"
+)
+
 // GetMP3PlayDuration 获取MP3的时长
 func GetMP3PlayDuration(mp3Data []byte) (seconds int, err error) {
-	//dec, _, err := minimp3.DecodeFull(mp3Data)
-	//if err != nil {
-	//	return 0, err
-	//}
-	//if dec.Kbps <= 0 {
-	//	return 0, err
-	//}
-	//// 音乐时长 = (文件大小(byte) - 128(ID3信息)) * 8(to bit) / (码率(kbps b:bit) * 1000)(kilo bit to bit)
-	//seconds = (len(mp3Data) - 128) * 8 / (dec.Kbps * 1000)
+	dec, _, err := minimp3.DecodeFull(mp3Data)
+	if err != nil {
+		return 0, err
+	}
+	if dec.Kbps <= 0 {
+		return 0, err
+	}
+	// 音乐时长 = (文件大小(byte) - 128(ID3信息)) * 8(to bit) / (码率(kbps b:bit) * 1000)(kilo bit to bit)
+	seconds = (len(mp3Data) - 128) * 8 / (dec.Kbps * 1000)
 	return seconds, nil
 }