0 votos

Encontrar la ruta de una carpeta dentro de otro paquete de script

Soy nuevo en Applescript. Estoy tratando de escribir un script para grabar un archivo de audio y guardarlo en un paquete script diferente - "PlayPro.scptd" - con el nombre pasado al scriptdesde un archivo Excel. La ruta - savePath - parece ser correcta pero no funciona. No hace nada cuando lo ejecuto. Aquí está mi script:

on RecordM4a(RecordName)    
    tell application "Finder"
        set r to POSIX path of ((container of (path to me) as text))
        set r2 to "PlayPro/Contents/Resources/AudioFiles/"
        set savePath to r & r2 & RecordName
        display dialog savePath
        tell application "QuickTime Player"
            activate
            set doku to new audio recording
            start doku
            delay 4
            stop doku
            set newDoc to last item of (documents whose name contains "Untitled")
            export newDoc in file savePath using settings preset "Audio Only"
            close newDoc saving no
        end tell
    end tell
    tell application "QuickTime Player"
        if it is running then
            quit
        end if
    end tell    
end RecordM4a

0voto

Mockman Puntos 16

Prueba esto. El problema clave es probablemente que no has incluido la extensión del paquete script en r2, lo que hace que savePath sea incorrecto.

tell application "Finder"
    set recName to "audio_rec.m4a"
    set pathName to (container of (path to me)) as text
    --> "MacHD:Users:username:Desktop:" 
end tell

set appName to "PlayPro.scptd"
set intPath to ":Contents:Resources:AudioFiles:"

set afPath to pathName & appName & intPath
--> "MacHD:Users:username:Desktop:PlayPro.scptd:Contents:Resources:AudioFiles:"

tell application "Finder" to open afPath
set savePathName to afPath & recName
--> MacHD:Users:username:Desktop:PlayPro.scptd:Contents:Resources:AudioFiles:audio_rec.m4a"

tell application "QuickTime Player"
    activate
    set doku to new audio recording
    start doku
    delay 4
    stop doku
    set untDoc to front document
    export untDoc in file savePathName using settings preset "Audio Only" with replacing
    close untDoc saving no
end tell

NB No vi ninguna intención de requerir rutas posix así que las eliminé. A menos que esperes que algún otro script se entrometa en tu reproductor quicktime Windows, puedes simplificar esa referencia. Estoy asumiendo que la carpeta 'AudioFiles' ya existe, y que el paquete script de destino está en la misma carpeta que este script.

Por otra parte, ¿por qué un archivo Excel? Puede ser que valga la pena considerar el uso de csv, que sería más fácil de obtener la cadena y probablemente haría su proceso más rápido en general, ya que no tiene que lidiar con Excel sólo para adquirir unos pocos caracteres. Por último, en cuanto a hacer una buena pregunta, es útil cuando los detalles incluyen lo que sucede. Un "no funcionó" no ayuda en absoluto: no habrías hecho la pregunta si hubiera funcionado. Por ejemplo, tu problema aquí no es con el reproductor quicktime - como sugeriste, se trata de referenciar una carpeta correctamente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X