Как я могу воспроизводить системный звук с помощью Python?

Решение, которое работает для меня, - это добавить ppa ondrej / apache2. Он имеет версию 2.4.33-1 для 14.04.

Всегда есть некоторый риск, связанный с получением программного обеспечения от ppa, но этот кажется очень уважаемым, и я использовал его в течение нескольких лет без инцидентов. 2]

Примечание: IIRC, когда я впервые добавил этот ppa, он настроил меня для ОСНОВНОГО обновления до версии apache2, которую я использовал в то время, и потребовалось некоторое время, чтобы снова запустить мои сайты.

7
задан 10 October 2011 в 22:41

1 ответ

Самый простой способ - это:

system("/usr/bin/canberra-gtk-play --id='bell'")

Это будет работать и на других языках программирования.

/usr/bin/canberra-gtk-play будет воспроизводить звук с текущего звуковая тема. См. Спецификацию звукового именования freedesktop.org для списка доступных звуков и их значений. Помните, что (насколько мне известно) нет звуковой темы, которая предоставляет все эти звуки.

Используйте ls /usr/share/sounds/ubuntu/stereo, чтобы увидеть, какие звуки поддерживаются звуковой темой «ubuntu», которая по умолчанию , и редко менялся (из-за простого способа установить звуковые темы) на Ubuntu.

14
ответ дан 26 May 2018 в 00:38
  • 1
    Благодаря! У вас есть какой-то намек на то, где я могу найти больше идентификаторов? Потому что «звонок» мне действительно не подходит. – Ingo 4 November 2010 в 00:23
  • 2
    См. Обновленный ответ. – dv3500ea 4 November 2010 в 00:24
  • 3
    Для безопасности я рекомендую использовать subprocess. Строковое выполнение может привести к опасным ситуациям. Например: import subprocess; subprocess.call(['/usr/bin/canberra-gtk-play','--id','bell']) – Kees Cook 4 November 2010 в 00:24
  • 4
    @Kees Cook, объясните, как выполнение вышеуказанной команды через system () может привести к «опасным ситуациям». – Cerin 15 March 2012 в 21:18

Другие вопросы по тегам:

Похожие вопросы: