MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    为什么会报错?

    开发交流
    2
    7
    576
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zhou2008 摸鱼 last edited by

      1.png
      2.png

      1 Reply Last reply Reply Quote 0
      • RainChan
        RainChan 摸鱼 last edited by

        请手动下载action里面的jar手动导入,目前仓库的依赖有一些问题

        1 Reply Last reply Reply Quote 0
        • Z
          zhou2008 摸鱼 last edited by

          3.png
          是这样吗?

          1 Reply Last reply Reply Quote 0
          • Z
            zhou2008 摸鱼 last edited by

            不行,还是一样的报错

            1 Reply Last reply Reply Quote 0
            • Z
              zhou2008 摸鱼 last edited by

              解决了

              1 Reply Last reply Reply Quote 0
              • Z
                zhou2008 摸鱼 last edited by

                但是又有了新的问题

                1 Reply Last reply Reply Quote 0
                • Z
                  zhou2008 摸鱼 last edited by

                  suspend fun tts(text: String, group: Group) {
                              val ffmpeg = File("ffmpeg.exe")
                              val silkEncoder = File("silk_v3_encoder.exe")
                              val ttsURL = "https://fanyi.baidu.com/gettts?lan=zh&spd=5&text=${URLEncoder.encode(text, Charsets.UTF_8)}"
                              val stream = URL(ttsURL).openStream()
                  
                              if (ffmpeg.exists() && silkEncoder.exists()) {
                                  val mp3 = File("mirai_${System.currentTimeMillis()}.mp3")
                                  val pcm = File("mirai_${System.currentTimeMillis()}.pcm")
                                  val silk = File("mirai_${System.currentTimeMillis()}.silk")
                  
                                  mp3.writeBytes(stream.readAllBytes())
                  
                                  try {
                                      exeCmd("${ffmpeg.absolutePath} -i ${mp3.absolutePath} -f s16le -ar 24000 -ac 1 -acodec pcm_s16le -y ${pcm.absolutePath}")
                                      exeCmd("${silkEncoder.absolutePath} ${pcm.absolutePath} ${silk.absolutePath} -Fs_API 24000 -tencent -quiet")
                                  } catch (e: IOException) {
                                      group.sendMessage(e.toString())
                                  }
                                  val er = silk.toExternalResource()
                                  group.sendMessage(er.uploadAsVoice(group))
                                  mp3.delete()
                                  pcm.delete()
                                  stream.close()
                                  er.close()
                                  silk.delete()
                              } else {
                                  group.sendMessage("ffmpeg或silk编码器丢失")
                              }
                  

                  安卓端收听正常,iOS/PC无声音,但语言转文本可用

                  1 Reply Last reply Reply Quote 0
                  • 1 / 1
                  • First post
                    Last post
                  Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact