みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
WinのVer.10でファイルパスのフィールドに、I-Tunesで取り込んだMP3の音声ファイルの階層を入れて、「イベントを送信」のスクリプトでI-Tunesを起動して再生させています。
今現在再生されているMP3についてファイルパスのあるレコードにフラグを立てることは可能でしょうか。
I-Tunesなのでいったん再生を始めて放置すると、ファイルメーカー側のスクリプトとは無関係にI-Tunesの再生プログラムに並んだ音声ファイルが次々に再生されつづけます。その再生されている音声がファイルメーカーのどのレコードのファイルパスのMP3ファイルなのかを検知して再生されている間のみフラグが点灯しているようにしたいのです。
ファイルメーカー以外の情報が必要な質問ですね。
iTunesは、VBScriptやJScriptで操作可能なので、調べれば色々な事が出来そうです。
iTunesの情報を書き出すVBScriptファイルを作成し、FMの「Eventを送信」で実行し、出力されたファイルを読みこめば、
現在再生中の曲の情報を取得出来ます。
プラグインを使うと直接曲の情報を取得する事も出来ます。
プラグイン「ScriptMakerMS」
https://sites.google.com/site/scriptmak … iptmakerms
を使った場合、
スクリプト例:
変数を設定 [$er; 値:iiil_Create( "vbscript" )]
変数を設定 [$er; 値:iiil_Exe( " Set iTunesApp = CreateObject(\"iTunes.Application\")¶ Set track = iTunesApp.CurrentTrack " )]
変数を設定 [$Location; 値:iiil_Eval( "track.Location" )]
変数を設定 [$Name; 値:iiil_Eval( "track.Name" )]
変数を設定 [$Album; 値:iiil_Eval( "track.Album" )]
変数を設定 [$er; 値:iiil_Exe( " Set iTunesApp = Nothing " )]
変数を設定 [$er; 値:iiil_Create( "" )]
$Location
$Name
$Album
再生中のファイルパス・曲名・アルバム名が取得出来ます。
Last edited by qb_dp (2013-09-16 02:56:35)
Offline
qb_dp様
ありがとうございます。
プラグインという言葉自体よく知らないのですがその「ScriptMakerMS」を導入するのが唯一の方法のようですね。
ただ「ScriptMakerMS」を動かすのに「Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)」などもインストールしなければならないそうです。
私の壊れかかっているPCはそのインストールを拒絶する(iTunesのバージョンアップも拒絶)ため、次の段階に進めないのが残念です。
近日中にPCのメンテナンスをしてやってみます。
実現時のイメージは、iTunes上でMP3が再生状態にある時のみ、ファイルメーカーがそのMP3のデータに「再生中」のフラグを出し、iTunes上でその再生が終わってライブラリの次の曲が始まるとファイルメーカーがその曲のデータに「再生中」のフラグを出すことです。
プラグインがだめなら、変数に入れるんでなくクリップボードとかファイル経由でやってみたらいいのでは。
VBScriptファイルを実行したままにして、そっちで変更を検知したらFMのスクリプトを実行するように書けばいいかな。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 551.32 KiB (Peak: 578.09 KiB) ]