vorbis.go 520 B

12345678910111213141516171819202122
  1. package duration
  2. import (
  3. "fmt"
  4. ov "github.com/anyhon/engine/audio/ov"
  5. )
  6. func GetSongDurationVorbis(fileName string) (duration int, ok bool) {
  7. ovFile, ovErr := ov.Fopen(fileName)
  8. if ovErr != nil {
  9. fmt.Printf("Error opening file for ogg vorbis duration: %s\n", ovErr)
  10. return 0, false
  11. }
  12. result, errTimeTotal := ov.TimeTotal(ovFile, -1)
  13. if errTimeTotal != nil {
  14. fmt.Printf("Error calling TimeTotal for ogg vorbis file: %s\n", errTimeTotal)
  15. return 0, false
  16. }
  17. return int(result), true
  18. }