De entrada el tema debías haberlo puesto en el foro de NET.
Aunque estés importando un control Activex de vb6, estás operando en NET.
...de entrada usas (en ambos casos) el evento keydown, claramente sería mejor al menos el KeyUp y aún mejor el Click e inmejorablemente el dobleclick... dejando el clik para play/pausa.
Además para ponerlo en pantalla completa estás usando el propio formulario... si no tienes más objetos que el control WMP, vale pero si no... todavía estás pasándolo a pantalla completa pero solo si pulsas F5, pero no es coherente, sí o sí fuerzas pantalla completa... y para regeresar de ella, debes hacerlo pisando el control... tampoco es coherente...
Yo modificaría el código... de esta manera:
Con doble click, sólo si está en play o pausa, cambia el estado de pantalla completa (al otro estado).
Private Sub Form1_DoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.DoubleClick, Handles wmp.DoubleClickEvent
If ((Wmp.playState = wmppsPlaying) or (Wmp.playState = wmppsPaused)) Then
'if (wmp.fullScreen = false) then
' wmp.fullScreen = True
'else
' wmp.fullScreen = false
'en if
wmp.fullScreen = not (wmp.fullScreen) ' más breve y claro, alternamos el estado cuandos e pulsa doble click.
End If
End Sub
Y dejaría el evento KeyUp para cuestiones específicas... incluso pantalla completa si se pulsa la letra F
Si solo vas a usar Play-pausa, mejor usar el evento click, para alternar entre ambos estados. en esta pieza de código se usa el evento KeyUp...
Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp, Handles wmp.KeyUpEvent
Select Case e.KeyCode
Case Keys.Space, keys.Pause
If Wmp.playState = wmppsPlaying Then
Wmp.Controls.pause
Elseif ((Wmp.playState = wmppsPaused) oralso (Wmp.playState = mppsStopped)Then
if (wmp.url.length >0) then
Wmp.Controls.play
end if
End if
Case Keys.Clear, Keys.Delete
Wmp.Controls.stop
case keys.Escape
Wmp.Controls.stop
if (wmp.fullScreen = True) then wmp.fullScreen = False
case keys.F
wmp.fullScreen = not (wmp.fullScreen)
' otros casos a considerar... por ejemplo, manejar volumen, pasar a la siguiente pista en la lista de reproducción (keys.PageDown) o previa (keys.pageUp), etc...
End select
End sub
- Nota que las constantes las he puesto de memoria, es posible que se llamen de otra manera, especialmente al importarlo a NET... el wrapper, las haya modificado.
- Donde proceda coloca el conveniente try...catch...
- Por último, nota también que yo he preferido abreviar el nombre desde: AxWindowsMediaPlayer1 a wmp, luego si copias cambia donde proceda...