Tìm kiếm trợ giúp/hướng dẫn/mã mẫu sử dụng python để nghe distributed notifications từ các ứng dụng trên máy mac. Tôi biết là py-objc lib là cầu nối giữa các lớp python và mac/cocoa, và thư viện Foundation có thể được sử dụng để thêm các nhà quan sát, nhưng tìm kiếm các ví dụ hoặc hướng dẫn về cách sử dụng nó để theo dõi iTunes.Làm thế nào để bạn nghe thông báo từ iTunes trên máy Mac (Sử dụng NSDistributedNotificationCenter)
Làm thế nào để bạn nghe thông báo từ iTunes trên máy Mac (Sử dụng NSDistributedNotificationCenter)
Trả lời
Nếu bất cứ ai đến bởi cho câu hỏi này, tôi đã tìm ra cách để lắng nghe, Mã dưới đây hoạt động Tuy nhiên, các thuộc tính truy cập dường như không hoạt động như truy cập thuộc tính python chuẩn
Cập nhật: bạn không truy nhập các thuộc tính như bạn đã làm trong python ie (.x), mã đã được cập nhật bên dưới, ngay bây giờ tạo ra một dict gọi là song_details.
Up date3: Cập nhật mã, bây giờ subclassing NSObject, loại bỏ thêm addObserver từ lớp. Sẽ giữ mã được cập nhật trên github, không còn cập nhật tại đây nữa.
import Foundation
from AppKit import *
from PyObjCTools import AppHelper
class GetSongs(NSObject):
def getMySongs_(self, song):
song_details = {}
ui = song.userInfo()
for x in ui:
song_details[x] = ui.objectForKey_(x)
print song_details
nc = Foundation.NSDistributedNotificationCenter.defaultCenter()
GetSongs = GetSongs.new()
nc.addObserver_selector_name_object_(GetSongs, 'getMySongs:', 'com.apple.iTunes.playerInfo',None)
NSLog("Listening for new tunes....")
AppHelper.runConsoleEventLoop()
Mã nguồn cho GrowlTunes có thể cung cấp cho bạn một số manh mối tại đây. Bạn sẽ phải dịch từ Objective-C sang PyObjC, nhưng eh, bất cứ điều gì. :)
GrowlTurnesController.m (Hoặc lấy toàn bộ cây nguồn tiếng gầm gừ và điều hướng đến GrowlTunes để bạn có thể nhìn thấy nó tất cả trong hành động .: here's a link to the directions on how to get the source
Cảm ơn sự giúp đỡ, quản lý để tìm ra bằng cách sử dụng trang web pyobjc & trang web táo. – ismail
- 1. Làm thế nào để bạn sử dụng PyObjC để tắt và trên các giao diện không dây của máy Mac?
- 2. Làm thế nào để loại bỏ Redis trên người nghe 'thông báo'
- 3. Làm thế nào để sẵn sàng sử dụng python 3.X trên máy Mac?
- 4. Cách sử dụng điện trên máy Mac
- 5. Làm thế nào để "Skin" một ứng dụng trên máy Mac?
- 6. Làm thế nào để bạn gửi meta key qua ssh trên Mac?
- 7. Làm thế nào để bạn sử dụng sed từ Perl?
- 8. Bạn có thể sử dụng lệnh R terminal trên máy tính Mac không?
- 9. Làm thế nào để nghe máy ép bánh xe chuột?
- 10. Làm thế nào để bạn sử dụng libtool để tạo các tệp .a (thư viện tĩnh) trên Mac OS?
- 11. Với iTerm2 trên máy Mac, làm thế nào để xóa chuyển tiếp một từ từ con trỏ trên dòng lệnh?
- 12. Làm thế nào để thay đổi đăng nhập XCode iTunes Connect của bạn?
- 13. Làm thế nào để kiến trúc sư đẩy thông báo đến một máy khách Swing từ JAX-WS trên GlassFish?
- 14. Làm cách nào để nhận thông báo trên màn hình từ ứng dụng web?
- 15. Nhận thông báo nguồn (đặc biệt là tắt máy) trên Mac OSX
- 16. Phát triển trên máy Mac so với sử dụng máy ảo trên PC dựa trên windows?
- 17. Làm thế nào để bạn đọc các khai báo C?
- 18. Làm thế nào để có được độ phân giải máy tính để bàn trong Mac thông qua Python?
- 19. Làm cách nào để hiển thị lại Chế độ xem thông báo "Bạn muốn gửi cho bạn thông báo đẩy"?
- 20. làm thế nào để làm cho một máy chủ socket nghe trên tập tin cục bộ
- 21. Cách đặt thông báo cục bộ trên Mac OS X?
- 22. Cách sử dụng máy chủ IIS trong máy ảo trên máy chủ Mac?
- 23. Làm thế nào để bạn sử dụng Java để gọi trình thông dịch Javascript Rhino?
- 24. Làm thế nào để bạn đăng nhập tên máy thông qua log4net?
- 25. Visual Studio: Làm thế nào để làm cho Cassini nghe trên :: 1?
- 26. Làm thế nào để bạn cài đặt Boost trên MacOS?
- 27. Làm thế nào để bạn giữ mongo chạy trên một máy chủ từ xa?
- 28. Thông báo Growl từ Máy chủ Web
- 29. Làm thế nào để bạn thực hiện biểu tượng "do đó" (∴) trên máy Mac hoặc trong Textmate?
- 30. Làm thế nào để bạn sử dụng memcache với PHP
iTunes có thực sự đăng thông báo được phân phối những ngày này không? –
Có nó .... dưới com.apple.iTunes.player, sử dụng đồng hồ thông báo tôi có thể nhìn thấy chúng. – ismail