Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 13.08.2007, 17:40 Titel: Pc internen Lautsprecher anspechen |
|
|
Hallo,
ich hab einen kleinen Treiber für FB geschrieben, der den Speaker anspricht
Code: |
Sub Sound(ByVal freq As UInteger, dur As UInteger)
Dim t As Double,f1 As Unsigned Short
f1 = 1193181 \ freq
Out &h61,Inp(&h61) Or 3
Out &h43,&hb6
Out &h42,LoByte(f1)
Out &h42,HiByte(f1)
t=Timer
While ((Timer - t) * 1000) < dur
Sleep 0,1
Wend
Out &h61,Inp(&h61) And &hfc
End Sub
' Beispielprogramm
For x as integer = 1 to 9999
sound (x,1)
next
sleep |
Wenn das ganze ersteinmal ausgereift genug ist, dann baue ich eine Play Funktion  _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.08.2007, 17:48 Titel: |
|
|
Das ist kein Treiber, höchstens ein "wrapper"
Vorschlag für spätere Versionen: Arbeite mit Thread, vor allem bei Play, dass man das Programm weiterlaufen lassen kann  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 13.08.2007, 18:10 Titel: |
|
|
Ich arbeite gerade an einer 2 Threadengine, damit das Programm selbst bei langen Liedern nicht ins stocken gerät.
Also Thread 1 Spielt die erste Note und Thread 2 Spiel die 2, währen Thread 1 schonmal die nächste Note holt usw. Und das ganze lastet noch nicht einmal die Cpu aus  _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 13.08.2007, 18:19 Titel: Re: Pc internen Lautsprecher anspechen |
|
|
AndT hat Folgendes geschrieben: | Hallo,
ich hab einen kleinen Treiber für FB geschrieben, der den Speaker anspricht
Code: |
Sub Sound(ByVal freq As UInteger, dur As UInteger)
Dim t As Double,f1 As Unsigned Short
f1 = 1193181 \ freq
Out &h61,Inp(&h61) Or 3
Out &h43,&hb6
Out &h42,LoByte(f1)
Out &h42,HiByte(f1)
t=Timer
While ((Timer - t) * 1000) < dur
Sleep 0,1
Wend
Out &h61,Inp(&h61) And &hfc
End Sub
' Beispielprogramm
For x as integer = 1 to 9999
sound (x,1)
next
sleep |
Wenn das ganze ersteinmal ausgereift genug ist, dann baue ich eine Play Funktion  |
http://forum.qbasic.at/viewtopic.php?p=29508#29508
Ohne Kommentar  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 13.08.2007, 18:22 Titel: |
|
|
Ich häng "Play" aber noch drann, das fehlt
Ausserdem optimiere ich den Code noch, da er bei tieden Frequenzen auch mal den einen oder anderen falschen Ton ausspuckt.
Z.b hab ich schon den fehler mit Strg+C behoben, dass der Speaker immernoch am rumpiepen ist. _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 13.08.2007, 18:38 Titel: |
|
|
AndT hat Folgendes geschrieben: | Ich häng "Play" aber noch drann, das fehlt  | ..wieso fehlt das?
http://volta.freebasic.de/indbas.html
Da isses doch.. _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.08.2007, 18:38 Titel: Re: Pc internen Lautsprecher anspechen |
|
|
trotzdem...
AndT hat Folgendes geschrieben: | ich hab einen kleinen Treiber für FB geschrieben |
Wie schon Rich Geldreich in seinen Programmen vermerkte:
Give credits where credits is due!
Soll heißen: Nicht du hast das Programm geschrieben, sondern volta... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 13.08.2007, 19:29 Titel: |
|
|
Alles klar Volta hat ihn geschrieben...
Dann schaut in die Englische referenz und sucht nach out (lol) _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 13.08.2007, 19:43 Titel: |
|
|
Ok, allerdings kann volta diesen code auch darein gestellt haben, vielleicht hat er ihn aber einfach nur zitiert. Ich habe nicht bemerkt, dass er behauptet hat, er habe ihn selbst gemacht  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 13.08.2007, 21:51 Titel: |
|
|
nö, das Ding ist schon asbach...
Ich glaube das haben einige Progger vor 25 Jahren schon in GWBASIC programmiert und die haben schon aus BASICA abgekupfert...  _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
|