1

必要なことを実行しているように見えるこのスクリプトを見つけましたが、ファイルをエクスポートしようとすると、出力として「filename:false」が表示されます。何か案が?

http://cookbooks.adobe.com/post_Extract_bitmaps_and_audio_from_a_FLA_file-18144.html

4

1 に答える 1

2

私は少しかかりましたが、私はあなたの問題を理解しました。問題は、サウンドファイルのこの小さなプロパティにありますsoundItem.originalCompressionTypeこの問題の詳細については、こちらをご覧ください。コードで起こっていることは、ライブラリに保存されているタイプとしてサウンドファイルをエクスポートしようとすることです。つまり、filename.mp3は.mp3ファイルとして保存され、filename.wavは.wavファイルとして保存されます。が「RAW」に等しい場合soundItem.originalCompressionType、サウンドファイルを.mp3ファイルとして保存できないため、「filename:false」が出力されます。ファイルを.wavファイルとして保存する必要があります。これを行うためにimageFileURLを定義するときに、コードを少し変更しました。

// Result of attempts to export will go to the output panel,
// so clear that first fl.outputPanel.clear();

// If bitmaps/audio in the library have been selected, export only
// those. Otherwise, export all bitmaps/audio in the library.

var lib;
if (fl.getDocumentDOM().library.getSelectedItems().length > 0) {
    lib = fl.getDocumentDOM().library.getSelectedItems(); 
} else { lib = fl.getDocumentDOM().library.items; } 

// Get destination directory for files 
var imageFileURLBase = fl.browseForFolderURL("Select a folder."); 
var imageFileURL; 

var totalItems = lib.length;
// Iterate through items and save bitmaps and 
// audio files to the selected directory.
for (var i = 0; i < totalItems; i++) 
{
    var libItem = lib[i];
    if (libItem.itemType == "bitmap" || libItem.itemType == "sound") 
    {
        // Check the audio files original Compression Type if "RAW" export only as a .wav file
        // Any other compression type then export as the libItem's name defines.
        if(libItem.itemType == "sound" && libItem.originalCompressionType == "RAW")
        {
            wavName = libItem.name.split('.')[0]+'.wav';
            imageFileURL = imageFileURLBase + "/" + wavName;
        } else {
            imageFileURL = imageFileURLBase + "/" + libItem.name;
        }
        var success = libItem.exportToFile(imageFileURL);
        fl.trace(imageFileURL + ": " + success);
    }
}
于 2012-12-19T16:41:40.103 に答える