Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#3

AW: Sound-Ausgabe nach Kanal (links/rechts)

  Alt 5. Jul 2012, 22:42
Via Windows-Beep eher überhaupt nicht, da dies eine bestehende WAVE Datei abspielt, die selbst auch schon stereo sein kann. Das einfachste wäre es, wenn du selber zwei Wave-Dateien machst, eine mit Ton nur links, eine rechts, und dann mittels sndPlaySound() die jeweils entsprechende abjodeln.
"Via Windows-Beep eher überhaupt nicht, da dies eine bestehende WAVE Datei abspielt"
Das ist falsch! Beep.sys erzeugt den Ton.

Das funktionierte bis WIN XP fast wie zu DOS-Zeiten:

Code:
MakeBeep1 proc dwPitch:DWORD

    ; Direct hardware access

    cli

    mov al, 10110110y
    out 43h, al

    mov eax, dwPitch
    out 42h, al

    mov al, ah
    out 42h, al

    ; Turn speaker ON

    in al, 61h
    or al, 11y
    out 61h, al

    sti

    DO_DELAY

    cli

    ; Turn speaker OFF

    in al, 61h
    and al, 11111100y
    out 61h, al

    sti

    ret

MakeBeep1 endp
Danach wurde es etwas komplizierter, aber dafür ist der Ton schöner.

Geändert von hathor ( 5. Jul 2012 um 23:11 Uhr)
  Mit Zitat antworten Zitat