simbolos - ¿Es posible usar jsfl para exportar archivos de sonido de la biblioteca flash?
simbolo en animate (1)
Encontré esta secuencia de comandos que parece hacer lo que necesito, sin embargo, cuando intento exportar un archivo obtengo el "nombre de archivo: falso" como salida. ¿Alguna idea?
http://cookbooks.adobe.com/post_Extract_bitmaps_and_audio_from_a_FLA_file-18144.html
Me tomó un poco, pero descubrí tu problema. El problema es con esta pequeña propiedad de su archivo de sonido: soundItem.originalCompressionType
. Puede encontrar algunos detalles para el problema aquí . Lo que está sucediendo en su código es que intentará exportar el archivo de sonido como el tipo que está almacenado como en la biblioteca. es decir, filename.mp3 guarda como un archivo .mp3 y filename.wav lo guarda como un archivo .wav. Si el soundItem.originalCompressionType
es igual a "RAW", no puede guardar el archivo de sonido como un archivo .mp3, por lo tanto, el resultado "filename: false". Debe guardar el archivo como un archivo .wav. Modifiqué un poco el código cuando definí el archivo imageFileURL para hacer esto.
// 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);
}
}