みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
PCはWindows7、ファイルメーカーはAdvance14です。
ソリューションファイルを入れてある外付けドライブに、wav、mp3、mp4などの音声、映像のファイルの入ったフォルダを置き、ファイルメニューの「レコードをインポートする(フォルダ)」でそのフォルダを指定してインポートしました。
インポートされたファイルパスに対してスクリプト「Eventを送信する」を実行したのですが、
ファイル「xxxx」が見つからなかったため、処理を完了できません
というメッセージが出ます。
wav、mp3、mp4はWindowsMediaPlayerで開くようにしているのですが、これらのアプリが、ファイルメーカーの「Eventを送信する」に対応していないのでしょうか?
ちなみに「iTunes」で開くようにしてあるMp3は正常動作します。jpgの画像ファイルも、ファイルパスから「Eventを送信する」でWindowsフォトビューワーが正常動作します。
WindowsMediaPlayerには対応していないのでしょうか。あるいはWindowsMediaPlayerを作動させる別の方法があるでしょうか。
Offline
スクリプト「Eventを送信する」の式は、どのように書いていますか?
ファイルパスを渡す場合、スペースや全角文字がある場合、” (ダブルクォーテーション)で包む必要があります。このあたりの問題では?
Last edited by qb_dp (2018-02-11 15:31:03)
Offline
qb_dp様
お世話になります。
スクリプト「Eventを送信」の式は
Eventを送信[「aevt」;「odoc」;music::Filepass ]
です。Filepassの内容は一例を上げますと「file://D:/youtubemusic/kleiber.mp4」です。
ソリューションファイルがDドライブの中にあるため、「file:youtubemusic/kleiber.mp4」という別のFilepass2も
設定して、両方を試しております。
Eventを送信[「aevt」;「odoc」;music::Filepass ]を実行すると
「ファイル「file://D:/youtubemusic/kleiber.mp4」が見つからなかったため、処理を完了できません」という
エラーメッセージが出ます。
Eventを送信[「aevt」;「odoc」;music::Filepass2 ]を実行すると、エラーメッセージも出ずまったく反応しません。
特にスペースや全角文字は入れておりません。
Offline
” (ダブルクォーテーション)で包めば、大丈夫です。
Eventを送信[「aevt」;「odoc」; "\"" & music::Filepass & "\"" ]
または、
Eventを送信[「aevt」;「odoc」; Quote ( music::Filepass ) ]
ちなみに、WindowsMediaPlayerのフルパス & スペース & ファイルパス とすれば、ファイル 拡張子の関連付けに関係なく 目的のアプリケーションでファイルを開くことが出来ます。
Quote ("C:\Program Files (x86)\Windows Media Player\wmplayer.exe") & " " & Quote ( music::Filepass )
Offline
qb_dp様
お世話になります。ご回答ありがとうございました。
しかしながら
Eventを送信[「aevt」;「odoc」; "\"" & music::Filepass & "\"" ]
Eventを送信[「aevt」;「odoc」; Quote ( music::Filepass ) ]
Quote ("C:\Program Files (x86)\Windows Media Player\wmplayer.exe") & " " & Quote ( music::Filepass )
いずれの方法を試してみましたがやはり状況はまったく変わりませんでした。
なお「¥」はファイルメーカーの式に入れると/の左右さかさまの記号に変換されてしまいました。「¥」という文字を認識しないようです。
他にどのような原因が考えられますでしょうか。
もちろんスクリプト「Eventを送信」を使わず、オブジェクトファイルを作ってそこに該当するwavやmp4などのファイルを参照させてクリックします
当然ながらWindows Media Playerで再生されます。
一つ一つ参照させればよいのかもしれませんが、対象となる音声や映像などのファイル数が2万以上あるため、手作業では無理です。
参照データはオブジェクトフィールドにはインポートできませんよね。
Offline
Eventを送信 で、実行する値が以下のようになっていれば、大丈夫です。
WindowsMediaPlayerのフルパス & スペース & ファイルパス
例:
"C:\Program Files (x86)\Windows Media Player\wmplayer.exe" "C:\Users\User\Downloads\mp4_mpeg4_aac.mp4"
WindowsMediaPlayerのフルパスは、ご自身の環境に合わせて下さい。
WindowsMediaPlayerの指定なしなら
例:
"C:\Users\User\Downloads\mp4_mpeg4_aac.mp4"
>「¥」という文字を認識しないようです。
\ は、FileMakerのスクリプトワークスペース上では、バックスラッシュで表示されます。
file://...のパス指定でも大丈夫とは思いますが、Windowsのエクスプローラで目的のファイルを確認し、"C:\Users\User\Downloads\mp4_mpeg4_aac.mp4" このような、フルパスで指定してみましょう。
Offline
qb_dp様
お世話になります。
解決しました!!
"C:\Users\User\Downloads\mp4_mpeg4_aac.mp4"
でやってみましたらwvaがすんなり起動しましたので変数の部分に計算式を入れてスクリプトを設定しました。
ファイル名が長いもの、スペースや全角文字が入っているもの、全てQuote(ファイルパス)にしてEventを送信の対象にすれば概ね開くようです。
これでほぼすべてのメディアファイルが起動するようになりました。
貴重なノウハウのご伝授をご親切にフォローいただき、まことにありがとうございました。
Offline
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 568.23 KiB (Peak: 589.17 KiB) ]