gpt4 book ai didi

python - 我的 discord 机器人从 youtube url 播放音频时遇到问题

转载 作者:行者123 更新时间:2023-12-04 23:18:20 24 4
gpt4 key购买 nike

sync def hog():
channel = bot.get_channel(964971002289356893)
url = 'https://www.youtube.com/watch?v=GyRmkAfpCOM'
await asyncio.sleep(1)
voice_channel = bot.get_channel(int(964971002289356893))
vc = await voice_channel.connect()
#vc.play(discord.FFmpegPCMAudio('C:/Users/alexa/Downloads/hogrider.mp3'))
vc.play(discord.FFmpegPCMAudio(source='https://www.youtube.com/watch?v=GyRmkAfpCOM', executable='ffmpeg.exe'))
while vc.is_playing():
await asyncio.sleep(5)
await vc.disconnect()
它适用于我笔记本电脑中的音频文件,但我想从 youtube 链接播放它。
它给了我一个错误:
https://www.youtube.com/watch?v=GyRmkAfpCOM : 处理输入时发现无效数据
先感谢您

最佳答案

也许你应该把你的代码改成这个,但要确保你需要安装 ffmpeg .我正在将此代码用于我的音乐播放器(在我的不和谐机器人上)

async def hog(ctx, url:str):
channel = bot.get_channel(put your channel here)
vc = ctx,.voice_client
await asyncio.sleep(1)
video = search(query=title)
source = video['formats'][0]['url']
vc.play(FFmpegPCMAudio(source, **FFMPEG_OPTIONS))
如您所见,有 search被调用的函数。
def search(query):
YDL_OPTION = {
'format': 'bestaudio/best',
'noplaylist': True,
'nocheckcertificate': True,
'default_search': 'auto',
'geo_bypass': True,
}

with YoutubeDL(YDL_OPTION) as ydl:
try:
requests.get(query)
except:
info = ydl.extract_info(f"ytsearch:{query}", download=False)['entries'][0]
else:
info = ydl.extract_info(query, download=False)
return info

关于python - 我的 discord 机器人从 youtube url 播放音频时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71918733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com