Mendapatkan tempoh fail mp3 di Golang adalah keperluan biasa. Editor PHP Xiaoxin akan memperkenalkan anda kepada kaedah yang mudah dan berkesan. Pertama, kita perlu menggunakan perpustakaan pihak ketiga untuk memproses fail mp3. Adalah disyorkan untuk menggunakan perpustakaan go-audio, yang menyediakan beberapa fungsi yang mudah. Seterusnya, kita perlu menggunakan fungsi Penyahkod pustaka go-audio untuk menyahkod fail mp3. Kemudian, kita boleh mendapatkan tempoh fail mp3 dengan memanggil kaedah Tempoh Penyahkod. Pada akhirnya, kita akan mendapat nilai tempoh dalam nanosaat, yang boleh kita tukar kepada format yang lebih mesra, seperti saat atau minit. Inilah cara untuk mendapatkan tempoh fail mp3 di Golang. Harap ini membantu!
Saya menyediakan permintaan teks ke pertuturan yang meminta API openAI untuk kemudian menjana audio. Sekarang saya ingin mengetahui tempohnya dalam [MM:SS], adakah terdapat sebarang cara atau perpustakaan untuk mendapatkannya?
Soalan ini dijawab di sini:
Bagaimana untuk mencari panjang fail mp3 golang?
Selain itu, anda mungkin mahu menukar float64 kepada format MM:SS. Dalam kes ini, anda boleh menggunakan sesuatu seperti ini:
package main import ( "fmt" "io" "os" "time" "github.com/tcolgate/mp3" ) const mp3File = <path-to-mp3-file> func main() { var t float64 fd, err := os.Open(mp3File) if err != nil { panic(err) } defer fd.Close() d := mp3.NewDecoder(fd) var f mp3.Frame skipped := 0 for { if err := d.Decode(&f, &skipped); err != nil { if err == io.EOF { break } fmt.Println(err) return } t = t + f.Duration().Seconds() } fmt.Println(t) // Convert the value to a time.Duration object duration := time.Duration(t * float64(time.Second)) // Get the duration in minutes and seconds minutes := int(duration.Minutes()) seconds := int(duration.Seconds()) - (minutes * 60) // Format the duration in the MM:SS format formatted_duration := fmt.Sprintf("%02d:%02d", minutes, seconds) fmt.Printf("The value %v expressed in MM:SS format is %v.\n", t, formatted_duration) }
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan tempoh fail mp3 di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!