Using COM you can run the player invisibly and control it.

The commands /runWMP and /runRP launch Windows Media Player and RealPlayer respectively, and /closePlayers closes both programs (you'll probably want to call it when the user closes the dialog or switches to the MP3 player mode)


alias runWMP {
  • ;
    ; Usage: /runWMP <url>
    ;

    if !$1 {
    echo -aec info * /runWMP: insufficient parameters.
    return
    }
    if !$com(objWMP) {
    if $com(objRP) { closeRP }
    .comopen objWMP WMPlayer.OCX.7
    if $comerr {
    echo -aec info * /runWMP: incompatible Windows Media Player version.
    return
    }
    !.echo -q $com(objWMP,Settings,2,dispatch*objSettings)
    !.echo -q $com(objSettings,autoStart,4,bool,true)
    .comclose objSettings
    }
    !.echo -q $com(objWMP,URL,4,bstr,$1-)
}

alias runRP {
  • ;
    ; Usage: /runRP <url>
    ;

    if !$1 {
    echo -aec info * /runRP: insufficient parameters.
    return
    }
    if !$com(objRP) {
    if $com(objWMP) { closeWMP }
    .comopen objRP rmocx.RealPlayer G2 Control.1
    if $comerr {
    echo -aec info * /runRP: incompatible RealPlayer version.
    return
    }
    }
    else !.echo -q $com(objRP,DoStop,1)
    !.echo -q $com(objRP,Source,4,bstr,$1-)
    !.echo -q $com(objRP,DoPlay,1)
}

alias -l closeWMP {
  • !.echo -q $com(objWMP,Close,1)
    .comclose objWMP
}

alias -l closeRP .comclose objRP

alias closePlayers {
  • ;
    ; Usage: /closePlayers
    ;

    if $com(objWMP) { closeWMP }
    if $com(objRP) { closeRP }
}


Note: RealPlayer requires that local files will be passed in this format: file:[/i]//C:\PATH\SONG.RM

Helpful links: