AppleScript Editorでローカルの.mp3ファイルを開く


1

だから、私はそれをクリックすると、パッケージのコンテンツとリソース内のmp3ファイルを開くAppleScriptアプリケーションを作成しようとしています。これは、スクリプト内にある唯一のコードです。

set filepath to (path to me as string) & "Contents:Resources:Jingle bells.mp3"

tell application "Finder"
    open alias filepath

しかし、「スクリプトエラー」というメッセージが表示されます。エラー「Finderでエラーが発生しました。エイリアス\ "Macintosh HD:Users:bobby.hay:Desktop:Song.app:Contents:Resources:Scripts:main.scptContentsを取得できません:リソース:Jingle bells.mp3 \ "。" 番号-1728

スクリプトの/ Contents / Resources内にあるJingle bells.mp3を開くようにアプリケーションを取得しようとしています。


Ask Differentへようこそ!:)質問に含めたコードは、アプリケーションで使用している逐語的なコードですか?もしそうなら、最初に頭に浮かぶのは.mp3ファイルの名前です-私はそれがファイルname.mp3ではないと思いますか?一方、それがあなたのファイル名である場合、それが機能していないことの意味を詳しく説明するためにあなたの質問を編集するように頼むことができますか?エラーメッセージが表示されますか?他に何か?
Monomeeth

回答:


1

「開く」とはmp3を再生することを意味すると仮定すると、次のスクリプトはまさにあなたが望むことをするはずです。

set myFolder to POSIX path of (path to me)
set contentFile to myFolder & "Contents/Resources/Jingle bells.mp3"
do shell script "afplay " & quoted form of contentFile

上記では、実行中のファイルmyFolderPOSIXパスに設定し.appます。次にcontentFile.appファイルのPOSIXパスに加えて、再生するファイルにリンクする内部ディレクトリ内の場所を設定Contents/Resources/Jingle bells.mp3します(この場合)。最後に、シェルコマンドafplay(マニュアルページはこちら)を使用してmp3ファイルを再生します。

お役に立てれば!

ベスト、トム


どうもありがとうございましたが、最後の行の最後の引用符のセットの内側にあるもの。(おそらくこれを説明したと私はちょうど理解しなかった、これが事実である場合は申し訳ありません)
ジョン・スミス

心配ない!あなたの質問が解決したことを願っています。余分については & " "; 過去に、空の引用符を追加しないと、シェルコマンドが機能しないことに気づきました。ただし、追加の追加なしで試してみましたが、どちらの方法でも機能するようですので、将来の視聴者にわかりやすくするために元の回答から削除します。ベスト
トム

引用符付きと引用符なしの両方のコードで、「指定されていない例外」というエラーメッセージが表示されます。
ジョンスミス

上記で提供したコードはスタンドアロンです。スクリプトを.appファイルとして保存し、再生する曲がにあり/Contents/Resources、が呼び出されている限り、Jingle bells.mp3完全に機能します。より具体的なエラーメッセージはありますか?
トム

どうもありがとう。完全に問題なく動作する別のコンピューターに渡すと、コンピューターで動作しないようです。
ジョンスミス

0

これを試してみてください:

set filepath to path to resource "Jingle bells.mp3"

tell application "Finder"
    open filepath
end tell

path to resource おそらく、ファイルを見つけるための最も信頼できる方法です。

第二に、バンドル内をナビゲートしてmain.scptを開くのではなく、「アプリ」をスクリプトエディタアイコンにドラッグアンドドロップして、このスクリプトを編集していることを確認してください。これにより、バンドルリソースにアクセスできるようになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.