PDA

View Full Version : Stop Audio in background ???


brubaker
25-03-2014, 23:28
Be' mi sa che e' una bella gatta da pelare ..dato una pagina in hta con piu' bottoni ognuno con un audio differente alla pressione su di essi in piu' un MsgBox con un testo...il problema e' mezzo risolto premendo sui bottoni l'audio del primo si ferma e riparte il secondo...il problema grave mi sa "impossibile da risolvere"..:muro: :muro: :muro: che alla pressione del bottone oltre che l'audio partendo anche il msgbox come faccio a fermare l'audio premendo su OK o Annula..?.:confused: :confused: (Quale comando inserire) nn ne ho la piu' pallida idea...spero che esista qualcuno in grado di risolvere il problema....:mad: vi posto l'esempio:
***********************************************************
<HTML>

<TITLE>"2014"</TITLE>

<HTA:APPLICATION ID="Prova"

APPLICATIONNAME="Prova"
SCROLL="no"
SINGLEINSTANCE="yes"
WINDOWSTATE="Normal"
CAPTION="yes"
ICON=" "
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
RESIZE="no"
SYSMENU="no"
BORDER="Thin"
BORDERSTYLE="Normal"
CONTEXTMENU="no"
SELECTION="no"

</SCRIPT>

<SCRIPT Language="javascript" type="text/javascript">

function playSound(soundfile) {

document.getElementById("PROVA").innerHTML=

"<embed src=\""+soundfile+"\" hidden=\"True\" autostart=\"True\" loop=\"False\" Type=\"audio/x-mp3\"/>";
}

</SCRIPT>

<BODY>
<SPAN ID="PROVA"></SPAN>
</BODY>

<SCRIPT LANGUAGE="VBScript">

Sub Window_Onload
window.resizeTo 1280,720
strComputer = "."
Set objWMIService = GetObject("Winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
For Each objItem in colItems
intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight
Next
intLeft = (intHorizontal - 1280) / 2
intTop = (intVertical - 720) / 2
window.moveTo intLeft, intTop

End Sub

</SCRIPT>

<SCRIPT Language="VBScript">

Sub RunA

IntReturn = MSGBOX ("Fermare L'audio in BackGround...!!!", 1+64,"AVVISO!!!")

If (IntReturn = vbOK) Then

Set WSHShell = CreateObject("WScript.Shell")
WSHShell.SendKeys "^P",True

End If

If (IntReturn = vbCANCEL) Then

Set WSHShell = CreateObject("WScript.Shell")
WSHShell.SendKeys "^s",True

End If

End sub

Sub RunB

IntReturn = MSGBOX ("La trombetta viene Suonata in Un millesimo di secondo", 1+64,"AVVISO!!!")

If (IntReturn = vbOK) Then

Set WSHShell = CreateObject("WScript.Shell")
WSHShell.SendKeys "^w",True

End If

If (IntReturn = vbCANCEL) Then

End If

End sub

</SCRIPT>

<Span> <Center> <Button Type="Button" Style="Font:Bold 16px; Color:Navy; BackGround:Gold; Border-Color:Red; Font-Family:HoboStd; Height:30px; Width:190px "OnClick='RunA()' OnMouseUP="playSound('Avviso1.aac');"> <> PROVA 2013 <> </Button> </Span>

<Span> <Button Type="Button" Style="Font:Bold 16px; Color:Navy; BackGround:Gold; Border-Color:Red; Font-Family:HoboStd; Height:30px; Width:190px "OnClick='RunB()' OnMouseUP="playSound('Avviso2.aac');"> <> PROVA 2014 <> </Button> </Center> </Span>

</html>

http://i61.tinypic.com/aosyzq.png

brubaker
26-03-2014, 18:30
Possibile che nn ci sia nessuno di voi PROGAMMATORI capace di darmi un a mezza soluzione...:confused: l'audio generato dalla pagina *.hta è di windows media player..(wmplayer.exe)...il problema che a differenza di quando lo si lanci con un comando vbscript [WCShell.Run ("source\Prova.aac")] in Task Manager mi basta terminare il processo di "wmplayer.exe"...ma nella pagina html l'audio generato in background non mi risulta da nessuna parte in esecuzione..l'unico modo per terminarlo e chidure "audiodg.exe" ma in questo modo mi si chiude il processo audio dell'intero PC....:mc: :muro: inoltre in WMplayer in modalita' normale si riesce a stoppare l'audio con la combinazione di tasti CTRL+P oppure +S o anche +W..nel browser invece non funziona con nessuna combinazione almeno per quanto ne so'..:mad: potrebbe anche andar bene un linguaggio in javascript a posto di vbscript...basta che al click del bottone mi parte l'audio e mi compaia un text message.. e all'ok del codesto mi stoppi l'audio generato..:D