MiraiForum

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

    Solved 【求助贴】Mirai点歌插件下配置ffmpeg_path导致端口被占用的问题

    使用交流
    5
    13
    371
    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.
    • FuYon
      FuYon 摸鱼 last edited by FuYon

      我发现错误出现的时间点是在我安装完Mirai点歌插件 后,并且在系统变量中配置好ffmpeg_path(用于在qq中发送amr语音) 之后,将ffmpeg.exe拖到mcl的根目录里。——————此时运行mcl会有如上的占用error;

      尝试删掉位于根目录下的ffmpeg.exe,再次运行mcl,仍然出现同样的error。

      再次删除:将系统变量path中删除M:\mirai\ffmpeg\bin,此时再次运行mcl,点歌插件提示:

      ecf5d29b-8176-4e0e-bf86-40be7e623950-image.png
      并且没有以上的占用报错出现。问题完美解决(误)

      于是乎,解决办法是不去使用此点歌插件的语音功能。

      但是不知道是否有兼容的解决办法。

      • 第一个错误
        E/net.mamoe.mirai-api-http: kotlinx.coroutines.JobCancellationException: LazyStandaloneCoroutine is cancelling; job=LazyStandaloneCoroutine{Cancelling}@476fde05
        kotlinx.coroutines.JobCancellationException: LazyStandaloneCoroutine is cancelling; job=LazyStandaloneCoroutine{Cancelling}@476fde05
        Caused by: java.net.BindException: Address already in use: bind
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:552)
        at
        java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:336)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:88)
        at io.ktor.network.sockets.ConnectUtilsJvmKt.bind(ConnectUtilsJvm.kt:32)
        at io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:46)
        at io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:30)
        at io.ktor.network.sockets.TcpSocketBuilder.bind$default(TcpSocketBuilder.kt:29)
        at io.ktor.server.cio.backend.HttpServerKt$httpServer$acceptJob$1.invokeSuspend(HttpServer.kt:46)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
        **

      • 第二个错误
        E/MahKtorAdapter[http,ws]: java.net.BindException: Address already in use: bind
        java.net.BindException: Address already in use: bind
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:552)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:336)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:88)
        at io.ktor.network.sockets.ConnectUtilsJvmKt.bind(ConnectUtilsJvm.kt:32)
        at io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:46)
        at io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:30)
        at io.ktor.network.sockets.TcpSocketBuilder.bind$default(TcpSocketBuilder.kt:29)
        at io.ktor.server.cio.backend.HttpServerKt$httpServer$acceptJob$1.invokeSuspend(HttpServer.kt:46)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

      FuYon 1 Reply Last reply Reply Quote 0
      • ryoii
        ryoii 梦中的鸡翅 last edited by

        为什么要启动两个,两个读同一个配置文件,端口就冲突了啊

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

          @fuyon 你说的“两个”是指2个插件读同一个config目录下的文件吗?还是java和javac冲突了(懵)

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

            两个错误都是端口被占用

            1 Reply Last reply Reply Quote 0
            • Karlatemp
              Karlatemp last edited by

              你是不是安装了两个mah

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

                我再试一试

                1 Reply Last reply Reply Quote 0
                • FuYon
                  FuYon 摸鱼 @Karlatemp last edited by

                  @karlatemp 抱歉,我并不了解mah是什么。该从哪里定位它们。

                  Karlatemp 1 Reply Last reply Reply Quote 0
                  • Karlatemp
                    Karlatemp @FuYon last edited by

                    @fuyon mah是mirai-api-http的缩写啊,在 plugins 文件夹内

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

                      This post is deleted!
                      1 Reply Last reply Reply Quote 1
                      • Karlatemp
                        Karlatemp last edited by

                        你可以使用 netstat -aof | findstr 1234 查找是哪个程序占用的端口

                        FuYon 2 Replies Last reply Reply Quote 0
                        • FuYon
                          FuYon 摸鱼 @Karlatemp last edited by

                          @karlatemp 好的

                          1 Reply Last reply Reply Quote 0
                          • FuYon
                            FuYon 摸鱼 @Karlatemp last edited by FuYon

                            @karlatemp **我发现错误出现的时间点是在我安装完Mirai点歌插件 后,并且在系统变量中配置好ffmpeg_path(用于在qq中发送amr语音) 之后,将ffmpeg.exe拖到mcl的根目录里。——————此时运行mcl会有如上的占用error;

                            尝试删掉位于根目录下的ffmpeg.exe,再次运行mcl,仍然出现同样的error。

                            再次尝试:将系统变量path中删除M:\mirai\ffmpeg\bin,此时再次运行mcl,点歌插件提示:
                            32a6999b-b854-439d-b8a4-9b62c5e21db3-image.png
                            并且没有以上的占用报错出现。

                            于是乎,解决办法是不去使用此点歌插件的语音功能。

                            但是不知道是否有兼容的解决办法。

                            1 Reply Last reply Reply Quote 0
                            • K
                              koujiaya last edited by

                              大佬 我和你一样问题,请问您解决了没

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