11

ここで説明されている方法を使用してきました: http://weblog.rogueamoeba.com/2007/09/29/

このスレッドを読んでください: OSX 10.5 での Apple キーボードのメディア キーへのバインド

sendEvent クラスをオーバーライドして、メディア キーの入力を検出できるようにしました。問題は、再生ボタンを押すと iTunes が起動することです。上記のスレッドは、iTunes が別の場所 (不明) にイベントをフックしていると述べているため、再生/一時停止(F8) イベントの取得をブロックする方法はありません。

回避策として、Quicktime Player をファイルなしで開いたままにしています。ただし、Mountain Lion では、Quicktime は明らかに一定期間非アクティブになると自動的に終了するため、この回避策は実行不可能になります。

Spotify や MPlayerX などのアプリケーションが何らかの形でこれを達成できたことは知っています。iTunes だけでなく、イベントを完全にブロックしているようです。

さらにグーグルで検索すると、このdiscussions.apple.com/thread/2122639?start=210&tstart=0が見つかりました。これは、Applescriptを介して呼び出しを行うリモートコントロールデーモンまで追跡します。rcd デーモンの実行権限を削除するいくつかの回避策があります (sudo が必要で、OSX が更新されるたびに再実行する必要があります)。nomitsu.com/contents/MMFix_src.tgz

彼ら(MPlayerX、Spotify)がこれをどのように行うことができたのかについて、誰かが洞察を持っていますか?

アドバイスをありがとう。

4

1 に答える 1

16

これを行う既存のクラスを見つけました: http://overooped.com/post/2593597587/mediakeys

うわー、それを見つけるのに少し時間がかかりました!それが他の誰かに役立つことを願っています!

于 2012-07-11T20:26:56.197 に答える