Wie kann ich Skype einen Befehl ausführen lassen, wenn ich einen Anruf erhalte?

7

Ich möchte, dass mein Linux-basierter Computer einen Befehl ausführt, wenn Skype einen Anruf erhält. Ist das möglich?

Anwendungsfall: Verwenden Sie HDMI-Audio für Raspberry Pi, spielen Sie jedoch Benachrichtigungs-Audio über die analoge Buchse ab, falls das Fernsehgerät ein anderes HDMI-Gerät an einem HDMI-Switch verwendet.

Priter Icepol
quelle
Ich denke, es würde etwas mit Sound zu tun haben. Skype muss dem System irgendwie ein Signal geben, um Ton zu verwenden. Ich werde versuchen, an einem Skript zu arbeiten, ich werde sehen, was getan werden kann. Gibt es spezielle Anforderungen, die Sie haben?
Sergiy Kolodyazhnyy
Nichts Bestimmtes. Ich weiß, dass ein Benutzer mit Omxplayer die analoge Buchse auswählen kann, auch wenn der Pi ansonsten HDMI zur Audioausgabe verwendet.
Priter Icepol

Antworten:

2

Ein hackartiger Weg, dies zu erreichen, besteht darin, den Titel des Fensters herauszufinden, das angezeigt wird, wenn ein Anruf eingeht, und mit wmctrl zu überprüfen, ob ein solches Fenster vorhanden ist.

Sie können ein Skript schreiben und dann cron oder Ihre eigene Logik verwenden, um dieses Skript in festgelegten Intervallen auszuführen.

Ich kenne das Format des Titels des Skype-Fensters für eingehende Anrufe nicht, aber das Gesamtskript könnte ungefähr so ​​aussehen (wenn es in Python geschrieben ist).

#!/usr/bin/python
import subprocess

# Change below line according to skype window title
# You might need to use regex in case the title has usernames 
command = r"wmctrl -xl | grep 'Skype - Incoming'"
output = system.exec_command(command, getOutput=True)

if output != "":
    # Play sound here
    pass
kurienzach
quelle