如何同时播放音乐和使用语音命令?

Posted

技术标签:

【中文标题】如何同时播放音乐和使用语音命令?【英文标题】:How do I play music and use speak command work at the same time? 【发布时间】:2021-08-07 07:02:51 【问题描述】:

我正在尝试使用 Python 创建一个语音助手程序,并希望我的程序同时在后台播放音乐和 wishme。但是当我尝试这样做时,程序首先执行playsound.playsound(),然后执行wishme 命令。我该怎么办?

if __name__ == '__main__':
    playsound.playsound('C:\\Users\\socia\\Downloads\\jack_sparrow_bgm.mp3')
    wishMe()
    while True:

      query = takeCommand().lower()

      if 'wikipedia' in query:
          speak('Searching Wikipedia...')
          query = query.replace("wikipedia", "").replace("on", "").replace("search", "")
          results = wikipedia.summary(query, sentences=2)
          speak('Here is your result SIR.')
          print(results)
          speak(results)

【问题讨论】:

你熟悉线程吗? 否 :( ......... 这能回答你的问题吗? How to play audio (playsound) in the background of a Python script? 【参考方案1】:

使用线程模块。这将使您的任务彼此独立。 例如,

import threading

def task_1():
    #do something like play music

def task_2():
    #do something like search wiki

#Run the code
threading.Thread(target=task_1).start()
threading.Thread(target=task_2).start()

阅读有关线程模块的更多信息,以便根据您的需要对其进行自定义

【讨论】:

可能不想创建线程并像那样在无限循环中启动它们...... 编辑删除循环,这没有任何意义。这是可能的,但肯定不能保证 worker 函数 可能想要无限循环。【参考方案2】:

使用: os.startfile('C:\\Users\\socia\\Downloads\\jack_sparrow_bgm.mp3').

它更先进,我目前也在为自己制作相同的程序并使用操作系统模块并且没有遇到任何问题。

【讨论】:

但是这个操作系统模块将我重定向到默认音乐播放器来播放音乐......我希望程序在后台播放音乐以及在特定时间段内说出命令(开始时)...

以上是关于如何同时播放音乐和使用语音命令?的主要内容,如果未能解决你的问题,请参考以下文章

在与YY朋友语音聊天时如何让他听到我放的音乐?

录制语音时如何播放背景音乐?

Discord.js v13,@discordjs/voice 播放音乐命令

微信公众号文章音乐自动播放

CDAudioManager (cocos2d, ios) 如何混合游戏音乐和背景音乐,让它们同时播放

微信小程序音乐播放器怎么使用网页音乐