如何在Python函数内部进行循环?

时间:2019-05-15 21:18:01

标签: python python-3.x

我有一个在os中播放音频文件的功能。我想在调用该函数时继续循环播放音频,除非调用另一个close函数,否则它应该停止播放。


def music:
    cast=1
    while cast=1:
        os.system('mpg123 /home/debian/sample.mp3')

def close:
    cast=0

global cast

我有另一个函数正在调用close()

编辑:如果我这样输入声音播放命令:

os.system('mpg123 --loop 3 /home/debian/sample.mp3')

然后播放3次音频后,程序确实进入关闭功能。

我如何在演员表= 0时立即转到关闭功能?

这会卡在while循环中,并会一直播放音频文件。

关于如何使其工作的任何想法?

谢谢

1 个答案:

答案 0 :(得分:0)

每个更改值的函数必须声明该变量为全局变量;否则,它只是一个具有相同名称的局部变量。

此外,如果您使用的是简单的布尔值标志,请使用布尔值。

def music:
    global cast
    cast = True
    while cast:
        os.system('mpg123 /home/debian/sample.mp3')

def close:
    global cast
    cast = False