我正在尝试制作一个可在MacOS上与iTunes配合使用并根据播放器当前是否在播放而变化的python应用程序。我有一个AppleScript,它通过一个布尔值来传递它是否正在播放,但是当我尝试使用python读取它时,它无法与python一起使用。与字符串相同。
我尝试更改为使用字符串,但这也不起作用。
def Update(self):
osascript.run(self.applescript, background=True)
self.proc = Popen(['osascript', '-'], stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True)
self.appscripPlayingOutput, error = self.proc.communicate(self.applescriptIsPlaying)
print(self.appscripPlayingOutput)
self.boolisPlay = self.str2bool(self.appscripPlayingOutput)
print(self.boolisPlay)
if self.boolisPlay == False:
self.playing = False
print("is paused")
else:
self.playing = True
print("is playing")
self.musicImage = Image.open(self.pathToAlbumArt)
self.musicImage = self.musicImage.resize((300,300), Image.ANTIALIAS)
self.realMusicImage = ImageTk.PhotoImage(self.musicImage)
self.musicCanvas.itemconfigure(self.AlbumArtId, image=self.realMusicImage)
root.after(1000, self.Update)
我希望它在播放时为true,在暂停时为false,但始终返回true
答案 0 :(得分:0)
我通过改为使applescirpt返回true(真)和0(false),然后使用python将其转换为int来解决了这个问题