1.关于如何使用python 3 来搭建mumble 的client,已经有大佬在github做好了,只需要down下源码自己调试即可
pymumble的github地址:Issues · azlux/pymumble · GitHub
2.首先你需要安装他的依赖:
pip install opuslib==3.0.1
pip install protobuf==3.12.2
pip install pymumble
3. 然而当你兴致勃勃的打开example并 选择 audio-only_client.py 运行后,发现根本不行,许多错误,比如:
error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio
接下来就来解决遇到的错误
如果遇到了没有找到lib,module之类的 使用pip install xxx 安装即可,有三个库你必须手动下载whl文件,然后使用pip install xxx.whl
下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio,可以再该页面使用ctrl+f搜索
需要下载的文件名字(cp后的是你的python版本我的是3.7, win后面的是系统位数,我的是64位):
PyAudio-0.2.11-cp37-cp37m-win_amd64.whl
Twisted-20.3.0-cp37-cp37m-win_amd64.whl
在完成以上的操作后,你会发现依旧有问题
在尝试一段时间后,这个错误不能像上面的一样简单的pip install 安装, 在这里我提供一个玄学解决办法
首先修改C:\setup\Python\Lib\site-packages\opuslib\api\_init_.py 文件(根据自己Python安装路径自行修改)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# pylint: disable=invalid-name
#
"""OpusLib Package."""
import ctypes # type: ignore
from ctypes.util import find_library # type: ignore
__author__ = 'Никита Кузнецов <self@svartalf.info>'
__copyright__ = 'Copyright (c) 2012, SvartalF'
__license__ = 'BSD 3-Clause License'
# 注释掉以下几行
#lib_location = find_library('opus')
#
#if lib_location is None:
# raise Exception(
# 'Could not find Opus library. Make sure it is installed.')
#
#libopus = ctypes.CDLL(lib_location)
#新添加改行,路径为OBS推流工具的libopus-0.dll的地址
libopus = ctypes.windll.LoadLibrary("D:/anzhuang/OBS-Studio-26.1.1-Full-x64/bin/64bit/libopus-0.dll")
c_int_pointer = ctypes.POINTER(ctypes.c_int)
c_int16_pointer = ctypes.POINTER(ctypes.c_int16)
c_float_pointer = ctypes.POINTER(ctypes.c_float)
(不要问我,为什么要使用OBS的这个dll, 因为我只我的电脑里全文检索,只发现了这一个,如果你搜索后发现没有,建议安装一个OBS推流工具, 平时闲着没事,开能开个直播,赚个外快啥的)
另外,不要尝试仅复制 libopus-0.dll 文件,这样做得不偿失,因为这样,你会DEBUG到怀疑人生
另一个玄学问题:
使用以下命令解决:(一定要加 --user, 另外,文件大概30MB左右,建议科学上网,不然20KB/s)
pip install scipy==1.6.3 --user
好了,如果你已经到这里了,恭喜,你已经成功了,接下来你可以运行 audio-only_client.py 文件,同时打开mumble 客户端:
可以看到 已经实现了mumble 客户端的无界面启动及其按键发言和语音激活.
至此,问题已解决
如果你感觉还不错,求个赞赞