v/GTT
1
0
mirror of https://github.com/eeeXun/GTT.git synced 2025-05-27 21:11:11 -07:00

show error when translate

This commit is contained in:
eeeXun 2022-10-23 00:23:44 +08:00
parent 374bd4c0e1
commit 12e00a7486
2 changed files with 15 additions and 7 deletions

View File

@ -56,7 +56,7 @@ func (t Translator) Translate(message string) (string, error) {
return "", errors.New("Translation not found")
}
func (t Translator) PlaySound(lang string, message string) {
func (t Translator) PlaySound(lang string, message string) error {
url_str := fmt.Sprintf(
sound_url,
url.QueryEscape(message),
@ -64,15 +64,15 @@ func (t Translator) PlaySound(lang string, message string) {
)
res, err := http.Get(url_str)
if err != nil {
panic(err)
return err
}
decoder, err := mp3.NewDecoder(res.Body)
if err != nil {
panic(err)
return err
}
otoCtx, readyChan, err := oto.NewContext(decoder.SampleRate(), 2, 2)
if err != nil {
panic(err)
return err
}
<-readyChan
player := otoCtx.NewPlayer(decoder)
@ -81,6 +81,8 @@ func (t Translator) PlaySound(lang string, message string) {
time.Sleep(time.Second)
}
if err = player.Close(); err != nil {
panic(err)
return err
}
return nil
}

10
ui.go
View File

@ -118,9 +118,15 @@ func TranslatePageHandler(event *tcell.EventKey) *tcell.EventKey {
case tcell.KeyCtrlQ:
src_box.SetText("", true)
case tcell.KeyCtrlN:
translator.PlaySound(translator.src_lang, src_box.GetText())
err := translator.PlaySound(translator.src_lang, src_box.GetText())
if err != nil {
src_box.SetText(err.Error(), true)
}
case tcell.KeyCtrlP:
translator.PlaySound(translator.dst_lang, dst_box.GetText(false))
err := translator.PlaySound(translator.dst_lang, dst_box.GetText(false))
if err != nil {
dst_box.SetText(err.Error())
}
case tcell.KeyCtrlS:
translator.src_lang, translator.dst_lang = translator.dst_lang, translator.src_lang
updateLang()