Mp3 input + dialog.

Contenu du snippet

Lis, stop, replay, pause , reprend , changement de repertoire possible, annonce le nombre de mp3 ...

Source / Exemple :


dialog mp3 {
  title "Lecteur mp3"
  size -1 -1 206 101
  option dbu notheme
  list 1, 42 4 160 81, size
  button "Jouer", 2, 4 4 37 12, flat
  button "Stoper", 3, 4 18 37 12, flat
  button "Pause", 4, 4 32 37 12, flat
  button "Reprendre", 7, 4 46 37 12, flat
  button "PlayLisT", 8, 4 60 37 12, flat
  box "", 10, 2 -1 202 100
  scroll "", 11, 5 88 83 8, range 0 100 horizontal bottom 
  text "« 0  ? Mute. »", 12, 93 89 70 7
  text "Zik:",13, 165 89 20 7
  text "",14, 176 89 40 7
  button "Fermer", 6, 4 74 37 12, ok
}

alias CFGMP3 { if ($dialog(mp3)) { did -r mp3 1  | set %Mp3Player.Repertoire $$sdir(C:\,Liste des MP3) | set %InutilemaisObligé. $findfile(%Mp3Player.Repertoire,*.mp3,*,didtok mp3 1 C $left($nopath($1-),$calc($len($nopath($1-)) - 4))) } } 
on *:dialog:mp3:dclick:1: { splay -p " $+ %Mp3Player.Repertoire $+ $did(mp3,1).seltext $+ .mp3 $+ " }
on *:dialog:mp3:sclick:2: { splay -p " $+ %Mp3Player.Repertoire $+ $did(mp3,1).seltext $+ .mp3 $+ " }
on *:dialog:mp3:sclick:3: { splay stop }
on *:dialog:mp3:sclick:4: { splay -p pause | didmp3 }
on *:dialog:mp3:sclick:7: { splay -p resume | didmp3 }
on *:dialog:mp3:sclick:8: { CFGMP3 } 
on *:dialog:mp3:scroll:11: { vol -p $int($calc($did(mp3,11).sel * 65535 / 100)) | did -ar mp3 12 volume du mp3 à $int($calc($vol(song) / 65535 * 100)) $+ % }
on *:dialog:mp3:init:*: {
  set %InutilemaisObligé. $findfile(%Mp3Player.Repertoire,*.mp3,*,didtok mp3 1 C $left($nopath($1-),$calc($len($nopath($1-)) - 4)))
  did -ar mp3 12 volume du mp3 à $int($calc($vol(song) / 65535 * 100)) $+ %
  did -c mp3 11 $int($calc($vol(song) / 65535 * 100))
  did -a mp3 14 $findfile(%Mp3Player.Repertoire,*.mp3,0) mp3
}
on *:MP3END: { 
  if (%automatique == Actif) { splay $findfile($longfn(%Mp3Player.Repertoire),*.mp3,$rand(1,$findfile($longfn(%Mp3Player.Repertoire),*.mp3,0))) | echo -a * mp3: $replace($left($nopath($insong.fname),-4), $2-,   $+ $2- $+  ) ? $duration($calc($mp3($insong.fname).length / $& 1000))
  }
}
on *:input:*:{
  if ($1 == info) { if ($int($calc(($insong.pos / $insong.length) * 100)) != $null) { echo -a * mp3: $left($nopath($insong.fname),-4) ? $duration($calc($mp3($insong.fname).length / $& 1000)) | echo -a * mp3: temps écoulé ? $duration($calc($insong.pos /1000)) de $duration($calc($mp3($insong.fname).length / $& 1000)) soit $int($calc(($insong.pos / $insong.length) * 100)) $+ $chr(37) | else { echo -a * mp3: aucune musique en cours de lecture. } } }
  if ($1 == avancé) { splay seek $round($calc($insong.length * $2 / 100),0) | echo -a * mp3: musique avancé à $2 $+ % du morceau. } 
  if ($1 == liste) { echo -a * mp3: $findfile(%Mp3Player.Repertoire,*.mp3,0) musiques dans ce répertoire. }
  if ($1 == stop) { splay stop }
  if ($1 == volume) { if ($2 <= 100) { vol -p $calc(655.36 * $2) } }
  if ($1 == repertoire) { set %Mp3Player.Repertoire $shortfn($$sdir(C:\,Liste des MP3)) }
  if ($1 == replay) { splay seek | echo -a * mp3: $replace($left($nopath($insong.fname),-4), $2-, $2- ) ? $duration($calc($mp3($insong.fname).length / $& 1000)) }
  if ($1 == *) {
    if ( $exists($longfn(%Mp3Player.Repertoire)) == $false ) { set %Mp3Player.Repertoire $shortfn($$sdir(C:\,Liste des MP3)) }
    if ( $2 != $null ) && ( $findfile($longfn(%Mp3Player.Repertoire),* $+ $2- $+ *.mp3,1) != $null ) { splay $findfile($longfn(%Mp3Player.Repertoire),* $+ $2- $+ *.mp3,$rand(1,$findfile($longfn(%Mp3Player.Repertoire),* $+ $2- $+ *.mp3,0))) }
    if ( $2 == $null ) { splay $findfile($longfn(%Mp3Player.Repertoire),*.mp3,$rand(1,$findfile($longfn(%Mp3Player.Repertoire),*.mp3,0))) }
    if ( $server != $null ) && ( $findfile($longfn(%Mp3Player.Repertoire),* $+ $2- $+ *.mp3,1) != $null ) { echo -a * mp3: $replace($left($nopath($insong.fname),-4), $2-,   $+ $2- $+  ) ? $duration($calc($mp3($insong.fname).length / $& 1000)) }
    elseif ( $2 != $null ) { echo -a * mp3: $2- ? introuvable. }
    :end
  }

Conclusion :


À vous de voir.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.