Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Спасибо, вроде просто, а весь вечер ходил и изучал...по ссылках. Нашел несложный вариант, все то что нужно, но вот проблема с размерами окна wmp. При запуске оно одних размеров, при воспроизведении видеопотока(станция 1 и 2) - уже другие размеры (и причем свой размер у каждой станции), а при воспроизведении аудиопотока(станция3) - опять уменьшается. Помогите, как сделать, чтоб окно всегда было одного размера (и при запуске, и при разном воспроизведении, где то 350x350, ну не меньше). Вот код:
Код: Выделить весь код
#include <GUIConstants.au3>

HotKeySet('{F9}', '_volMinus') ;уменьшить звук
HotKeySet('{F10}', '_volPlus') ;увеличить звук

Global $nocontrols=false

$hGui = GUICreate("Test", 518, 439, 192, 125)

$ControlPanel_ShowHide_But=GUICtrlCreateButton("Hide",5,370,50,25)
$StopPlay_But=GUICtrlCreateButton("Stop",55,370,50,25)
$FullScreen_But=GUICtrlCreateButton("fullscreen",105,370,50,25)
$Stantion1_But=GUICtrlCreateButton("Station1",155,370,50,25)
$Stantion2_But=GUICtrlCreateButton("Station2",205,370,50,25)
$Stantion3_But=GUICtrlCreateButton("Station3",255,370,50,25)

$wmp = _wmpcreate(1, 5, 5, 360, 360);creates object
_wmploadmedia($wmp, "http://www.vefire.ru/channel/oneplusone/asx/")
_wmpvalue( $wmp, "Controls" );show controls
GUISetState(@SW_SHOW)


While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
    Exit
;    
Case $ControlPanel_ShowHide_But ;скрыть показать панель контроля
    If $nocontrols==False Then
        $nocontrols=True
        _wmpvalue( $wmp, "nocontrols")
        GUICtrlSetData($ControlPanel_ShowHide_But,"Show")
    Else
        $nocontrols=False
        _wmpvalue( $wmp, "controls")
        GUICtrlSetData($ControlPanel_ShowHide_But,"Hide")
    EndIf
;
Case $StopPlay_But ;остановить, продолжить воспроизведение
 If $wmp.controls.isAvailable("play") Then 
     $wmp.controls.play()
     GUICtrlSetData($StopPlay_But,"Stop")
Else
    $wmp.controls.stop()
    GUICtrlSetData($StopPlay_But,"Play")
EndIf
;
Case $FullScreen_But ;во весь экран
    _wmpvalue( $wmp, "fullscreen")
;
Case $Stantion1_But ;1 тестовая станция
    _wmploadmedia($wmp, "http://www.vefire.ru/channel/oneplusone/asx/")
;
Case $Stantion2_But ;2 тестовая станция
    _wmploadmedia($wmp, "mms://89.187.1.165/gamma?WMContentBitrate=300000")
;
Case $Stantion3_But ;3 тестовая станция
    _wmploadmedia($wmp,"mms://online.svitle.org/svitle")
EndSwitch
Sleep(10)
WEnd
;
;
Func quit()
    Exit
EndFunc
;
;
Func _volMinus() ;уменьшить громкость на плеере
Local $vol
$vol=$wmp.settings.volume
if $vol <= 0 then Return
$vol = $vol - 10
if $vol < 0 then $vol = 0
$wmp.settings.Volume = $vol
EndFunc ;_volMinus
;
;
Func _volPlus() ;увеличить громкость на плеере
Local $vol
$vol=$wmp.settings.volume
if $vol >100 then Return
$vol = $vol + 10
if $vol >100 then $vol = 100
$wmp.settings.Volume = $vol
EndFunc ;_volPlus
;
;
#cs
_wmpcreate($show, $left, $top, $width = 100, $height = 100)
$show:   1 = shows controls
        2 = hides controls
Return: The object for the control
#ce
Func _wmpcreate($show, $left, $top, $width = 360, $height = 360)
$oWMP = ObjCreate("WMPlayer.OCX")
If $oWMP = 0 Then Return 0
$oWMP.settings.autoStart = "False"
If $show = 1 Then
    GUICtrlCreateObj($oWMP, $left, $top, $width, $height)
EndIf
Return $oWMP
EndFunc
;
;
#cs
_wmploadmedia( $object, $URL, $autostart = 1 )
$object:    Object returned from the _wmpcreate()
$URL:       Path or URL of the media
$autostart: 1 = yes
            0 = no
Return: None
#ce
Func _wmploadmedia( $object, $URL, $autostart = 1 )
    $object.URL = $URL
    While Not $object.controls.isAvailable("play")
        Sleep(10)
    WEnd
    If $autostart = 1 Then $object.controls.play()
EndFunc
;
;
#cs
_wmpsetvalue( $object, $setting, $para=1 )
$object:    Object returned from the _wmpcreate()
$setting:   "play"
            "stop"
            "pause"
            "invisible" (Hides all)
            "control"   (Shows controls)
            "nocontrol" (Hides controls)
            "fullscreen"
            "step"      (frames to step before freezing)
            "fastforward"
            "fastreverse"
            "volume"    (0 To 100)
            "rate"      (-10 To 10)
            "playcount"
Return: None
#ce
Func _wmpvalue( $object, $setting, $para=1 )
        Select
            Case $setting = "play"
            If $object.controls.isAvailable("play") Then $object.controls.play()
        Case $setting = "stop"
            If $object.controls.isAvailable("stop") Then $object.controls.stop()
        Case $setting = "pause"
            If $object.controls.isAvailable("pause") Then $object.controls.pause()
        Case $setting = "invisible"
            $object.uiMode = "invisible"
        Case $setting = "controls"
            $object.uiMode = "full"
        Case $setting = "nocontrols"
            $object.uiMode = "none"
        Case $setting = "fullscreen"
            $object.fullscreen = "True"
        Case $setting = "step"
            If $object.controls.isAvailable("step") Then $object.controls.step($para)
        Case $setting = "fastForward"
            If $object.controls.isAvailable("fastForward") Then $object.controls.fastForward()
        Case $setting = "fastReverse"
            If $object.controls.isAvailable("fastReverse") Then $object.controls.fastReverse()
        Case $setting = "volume"
            $object.settings.volume = $para
        Case $setting = "rate"
            $object.settings.rate = $para
        Case $setting = "playcount"
            $object.settings.playCount = $para
        Case $setting = "setposition"
            $object.controls.currentPosition = $para
        Case $setting = "getposition"
            Return $object.controls.currentPosition
        Case $setting = "getpositionstring";Returns HH:MM:SS
            Return $object.controls.currentPositionString
        Case $setting = "getduration"
            Return $object.currentMedia.duration
    EndSelect
EndFunc
Мне кажеться, что причина в некоректной работе параметра uiMode (у меня wmp10 установлен)
P.S. Набросал код только для вопроса, так что прошу не обращать внимание на несиметричность...

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:07, 09-07-2009 | #4