PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ frage ] pc speaker


pate33
12.06.2002, 09:07
Hi,

ist es moeglich, ueber ein shell script die pc speaker zu kontrollieren? wie?

thanks


Codeq
12.06.2002, 11:44
generell ja... für welches OS willst denn sowas haben ?

Dr. Azrael Tod
13.06.2002, 09:43
wenns unter Dos/Win sein soll mit Beep bei Linux weiß ich´s nich
(Ich weiß nich mal genau, obs so geht, ich arbeite nur unter 4Dos/4NT)

DAT

Codeq
13.06.2002, 10:34
hmm also unter win9x systemen kanns sein das der treiber für den pc-piepser deaktiviert oder gar nicht erst installiert wurde... änder das hier, dann sollte da wieder gehen.
XP und win2k brauchen das aber nicht!!!

in SYSTEM.INI:
Abschnitt [Drivers] Wave=speaker.drv
Abschnitt [Speaker.drv] Volume=500, andere Einträge werden autom. hinzu gefügt.
in WIN.INI ...oder ?
speaker.drv=Sound Driver for PC-Speaker



und hier nen VBScript.. mit wsh und js kommt man leider nicht an den speaker ran...
Funzt unter Windows NT/Me/2000. Läuft über die API-Funktion Beep. Damit lässt sich leicht der PLAY-Befehl von QuickBasic nachbauen.

Private Declare Sub Beep Lib "kernel32" ( _
Optional ByVal dwFreq As Long = 440, _
Optional ByVal dwDuration As Long = 240 _
)

Private Sub Form_Click()

' "Alle meine Entchen" abspielen.
Call Play("abcde e ffffe ffffe ddddc c bbbba")
End Sub

Private Sub Play(ByRef s As String)
Dim i As Integer
Dim t As String

For i = 1 To Len(s)
t = Mid$(s, i, 1)

' Leider geht das nicht über eine lineare Skalierung. Die Liste kann beliebig erweitert
' werden. Da ich aber kein Musik-Profi bin, kenne ich mich nicht aus.
Select Case t
Case "a": Call Beep(444)
Case "b": Call Beep(488)
Case "c": Call Beep(550)
Case "d": Call Beep(580)
Case "e": Call Beep(640)
Case "f": Call Beep(720)
Case "g": Call Beep(810)
Case "h": Call Beep(860)
Case "i": Call Beep(920)
Case " ": Call Beep(32767)
End Select
Next i
End Sub

pate33
13.06.2002, 10:38
ist fuer OpenBSD. Soll ausgefuehrt werden, wenn die kiste komplett gebootet und alle dienste gestartet sind ... als check quasi, dass die kiste einsatzbereit ist.

Codeq
13.06.2002, 10:51
:confused: :confused: :confused: :confused: :confused:

öhm was denn nu? und wer denn nu ??
patrick == der tod?
:rolleyes:

Dr. Azrael Tod
13.06.2002, 12:02
red keen Blech, ich hab bloß versucht, ne einigermaßen sinnvolle Antwort zu geben

DAT:rolleyes:

::Beep ist der Befehl unter 4DOS, ich meinte damit nich die Art wie es engesteuert werden sollte