Saako mitenkään Quick Basicissa waw tiedostoa soimaan?
saa, mutta ei suoraan yhdellä komennolla, mutta nekään eivät ole mitään parhaita ja yleensä saa soimaan vain jotain pieniä piipahduksia....
Tämä koodinpätkä sisältyy BootSector4:n Basguru-kokoelmaan (sitä ei taida tällä hetkellä saada juuri muualta kuin MBnetistä). Ei toimi suoraan NT:llä, 2000:lla eikä XP:llä. Vanhemmilla Windowseilla ja DOSissa pitäisi toimia äänikortin kanssa. Itse kokeilin muistaakseni Windows 95:llä ja hyvin toimi.
' Wavin soittoa, tätä kaikki ovat aina halunneet=) CLS DIM SHARED BasePort%, DMA, IRQ 'SB:n Osoite, DMA, IRQ GOSUB GetBlaster CONST FILE$ = "C:\WINDOWS\MEDIA\THEMIC~1.WAV" ' WAVin nimi CONST TAUKO = 1 ' hidastusarvo -> jos wav soi liian nopeasti, lisää COLOR 7 PRINT "Soitetaan "; COLOR 15 PRINT UCASE$(FILE$); COLOR 7 PRINT "..." DO '<----- huomaa! WAV soi DOn ja LOOPin välissä, voit itse GOSUB PlayWav 'rakentaa pelin silmukan väliin WAVin soidessa taustalla IF INP(&H60) = 1 THEN END LOOP CLOSE OUT dspcmd%, &H10 END GetBlaster: IF LEN(ENVIRON$("BLASTER")) = 0 THEN PRINT "BLASTER ympäristömuuttujaa ei ole asetettu": END FOR Length% = 1 TO LEN(ENVIRON$("BLASTER")) SELECT CASE MID$(ENVIRON$("BLASTER"), Length%, 1) CASE "A" BasePort% = VAL("&H" + MID$(ENVIRON$("BLASTER"), Length% + 1, 3)) CASE "I" IRQ% = VAL(MID$(ENVIRON$("BLASTER"), Length% + 1, 1)) CASE "D" DMA% = VAL(MID$(ENVIRON$("BLASTER"), Length% + 1, 1)) CASE ELSE END SELECT NEXT RETURN SBReset: dspreset% = BasePort% + 6 OUT dspreset%, 1 FOR t% = 1 TO 10 a% = INP(dspreset%) NEXT t% OUT dspreset%, 0 dspread% = BasePort% + 10 FOR t% = 1 TO 10 a% = INP(dspread%) NEXT t% RETURN PlayWav: IF fgjee = 0 THEN GOSUB SBReset byte% = &HD1 GOSUB WriteDSP OPEN FILE$ FOR BINARY AS #1 fgjee = 1 IF UCASE$(RIGHT$(FILE$, 3)) = "WAV" THEN FOR i = 0 TO 44 GET #1, , muuttuja NEXT muuttuja = 0 END IF END IF IF EOF(1) THEN SEEK #1, 45 GET #1, , byte% GOSUB WriteDSP byte% = &H10 GOSUB WriteDSP FOR tauko2 = 1 TO TAUKO q% = INP(dspcmd%) NEXT tauko2 RETURN WriteDSP: 'Soittaa WAVia OUTilla ' ' ' OUT BasePort% + 12, byte% RETURN
Aihe on jo aika vanha, joten et voi enää vastata siihen.