【问题标题】:How do I ring a bell sound within an ssh session?如何在 ssh 会话中响铃?
【发布时间】:2015-07-15 16:51:54
【问题描述】:

我想用 Python 生成铃声或任何类型的音频。特别是,我假设我在另一台计算机上有一个开放的 ssh 会话,但我希望在本地听到音频。

这可能吗?我试过了

print '\a'  

即使我的声卡工作正常,即使在本地也不行。

【问题讨论】:

  • 在 BEL 字符上响铃完全取决于您的终端(无论是 Mac Terminal.app、Windows cmd.exe、gnome-terminal、Putty 等)。您的 Python 代码正在打印 BEL 字符,如果您的终端忽略它,Python 对此无能为力。

标签: python audio


【解决方案1】:

这里有两个不同的问题:

  1. 使用 Python 发出可听见的噪音。

这取决于您运行代码的系统。

这是一个取自 answer 的示例:

#windows
import winsound
winsound.Beep(300,2000)
#where a is the frequency and b is the duration in miliseconds

#linux

import os
os.system('play --no-show-progress --null --channels 1 synth %s sine %f' % ( a, b))
  1. 通过 SSH 远程播放声音。

如果您想在本地播放远程声音,您需要转发声音,就像 X 转发,see this detailed SuperUser answer for how to do that. 您需要一个名为paprefs 的单独应用程序来执行此操作。

如果您只想远程发出噪音,则在执行脚本时它应该可以正常工作,具体取决于哪个 shell 会话控制音频(如果另一个用户登录并使用扬声器播放音乐怎么办? ) 这是一个相关的Unix/Linux question

【讨论】:

  • 对于 Linux,你可以做 os.system('beep').
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
  • 2013-01-03
相关资源
最近更新 更多