How to program a pause when a call arrives in skype

Skype has a built-in feature in which iTunes pauses and resumes automatically when a call arrives. It would be nice to have something similar for Spotify. Both provide a python API, so this may seem like the obvious way.

+5
source share
1 answer

I had a hit when I was doing this in python. It runs in the background as a daemon, pausing / resuming highlighting when called. It uses the Python libraries for Skype and Spotify:

http://code.google.com/p/pytify/
https://developer.skype.com/wiki/Skype4Py

import Skype4Py
import time
from pytify import Spotify

# Create Skype object
skype = Skype4Py.Skype()
skype.Attach()

# Create Spotify object
spotify = Spotify()
spotifyPlaying = spotify.isPlaying()

# Create handler for when Skype call status changes
def on_call_status(call, status):
  if status == Skype4Py.clsInProgress:
    # Save current spotify state
    global spotifyPlaying
    spotifyPlaying = spotify.isPlaying()

    if spotify.isPlaying():
      print "Call started, pausing spotify"
      # Call started, pause Spotify
      spotify.stop()

  elif status == Skype4Py.clsFinished:
    # Call finished, resume Spotify if it was playing
    if spotifyPlaying and not spotify.isPlaying():
      print "Call finished, resuming spotify"
      spotify.playpause()  

skype.OnCallStatus = on_call_status

while True:
  time.sleep(10)
+6
source

All Articles