audio_info.go 1005 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package ffmpeg_helper
  2. import (
  3. "fmt"
  4. language2 "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/language"
  5. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/language"
  6. )
  7. type AudioInfo struct {
  8. Index int
  9. CodecName string
  10. CodecType string
  11. timeBase string
  12. startTime string
  13. language string
  14. FullPath string
  15. Duration float64
  16. }
  17. func NewAudioInfo(index int, codecName, codecType, timeBase, startTime, language string) *AudioInfo {
  18. return &AudioInfo{
  19. Index: index,
  20. CodecName: codecName,
  21. CodecType: codecType,
  22. timeBase: timeBase,
  23. startTime: startTime,
  24. language: language,
  25. Duration: 0,
  26. }
  27. }
  28. // GetLanguage 获取音频的语言类型
  29. func (a AudioInfo) GetLanguage() language2.MyLanguage {
  30. return language.ISOString2SupportLang(a.language)
  31. }
  32. // GetName 获取音频名称,这里以音频的名称(中文)+ 索引的位置类描述
  33. func (a AudioInfo) GetName() string {
  34. return fmt.Sprintf("%s_%d", language.Lang2ChineseString(a.GetLanguage()), a.Index)
  35. }