Beep

Vragen en opmerkingen over Just BASIC en over RUNBASIC

Beep

Berichtdoor hbh-tieltjes » ma maart 16, 2009 12:01 pm

'Description:
'This command will play the default system wave file. The actual sound played depends upon the default sound scheme on the user's computer. This sound is best described as a 'ding'. Program execution will stop until the wave file is finished playing.
'
'Usage:

' if warningVar = 1 then beep

'Note: See also PLAYWAVE, PLAYMIDI

for piep=1 to 10
if piep=5 then beep
next piep
end

'Dit is de help instructie van JB
'Mijn luidsprekers staan 100 % aan.
'Ik hoor niets, ben ik doof ????
'Hoe moet ik beep gebruiken.
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Beep

Berichtdoor Gordon » ma maart 16, 2009 9:36 pm

Hallo hbh,

Beep werkt niet meer op machines met XP en Vista.

Als je je luidspreker nog wilt horen dan kun je XP dwingen met

Code: Selecteer alles
calldll #kernel32, "Beep", _
    Freq     as ulong, _
    Duration as ulong, _
    result   as boolean


Microsoft heeft tada.wav geleverd voor beep?
Dus :
playwave "tada.wav"
is een soort surrogaat voor BEEP

Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Beep

Berichtdoor Gordon » ma maart 16, 2009 9:45 pm

oeps...

playwave "beep.wav"

bedoelde ik.

Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Beep

Berichtdoor anthonio » ma maart 16, 2009 10:07 pm

Dit was me ook al eens opgevallen :D
Toch ff de topic posten.
http://www.libertybasic.nl/viewtopic.php?f=7&t=361&p=1488&hilit=beep#p1488

Groeten.
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Beep

Berichtdoor hbh-tieltjes » ma maart 16, 2009 10:37 pm

Klasse het werkt bedankt.
Code: Selecteer alles
for n=1 to 10
playwave  "GordonBedankt"
next n

Dit geeft 10 geluidjes.
Dit werkt ook " " spatie tussen de 2 dubbele kommas.
Dit werkt niet "" 2 dubbele kommas tegen elkaar aan.
Kan ik weer een beetje leven in mijn programma maken.

gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Beep

Berichtdoor anthonio » di maart 17, 2009 11:53 pm

Mooi dat je dit even aanhaald herman.
Reden waarom er geen geluid komt wanneer je "" gebruikt.
"" = lege string
denk maar aan

Code: Selecteer alles
if ja = "" then
print lege string
end if


groeten
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Beep

Berichtdoor hbh-tieltjes » wo maart 18, 2009 10:04 am

Kan dit playwave " " nog uitgebreider gebruikt worden ???
Ik bedoel de toon hoger of lager.
De toon korter of langer
De toon harder of zachter
Als dit mogelijk is wil je dan een voorbeeld geven ?
B.V. eerste regel van ons volkslied (wilhelmus)
Ik heb alleen maar JB geen LB maakt dat wat uit ?

B.v.d. gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Beep

Berichtdoor Gordon » wo maart 18, 2009 1:19 pm

Hallo Herman,

Met JB kun je geen call naar een DLL maken.
De beste methode om geluid met Windows te maken gaat via
de ingebouwde call naar #winmm. Kijk maar naar het programma piano6/bas
van Alyce.

Ik weet zeker dat iemand op het JB forum dit allemaal omzeilt heeft.
Op een originele manier heeft hij toch JB zo ver gekregen dat hij JB piano6/bas
kan laten afspelen. Ik kan die hele discussie helaas niet snel terug vinden.

Met LB is het natuurlijk heel eenvoudig. Alle mogelijke instrumenten, tonen enz.
zijn afzonderlijk uit je machine te krijgen.

Gordon.
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Beep

Berichtdoor anthonio » wo maart 18, 2009 5:34 pm

Ik las dit zojuist op een forum van JB.
Het gaat wel over mp3's maar kom.

Code: Selecteer alles
'Audioplayer in JustBasic
'
nomainwin

' roep windows mediaspeler aan als mp3 of .wav-player
'
filedialog "Open mp3-file", "*.mp3; *.wav", mp3$
notice mp3$
if mp3$ = "" then
    wait
else
' Als je het goed doet, zoek je bij installatie of mediaplayer bestaat
' en schrijf de locatie weg in een ini file welke vervolgens altijd
' uitgelezen wordt. Onderstaande is hardcoded.
    run "C:\Program Files\Windows Media Player\wmplayer.exe ";mp3$
end if


Ik zoek verder, want gelijk gordon zegt, heb ik dit ook nog ergens gelezen op een JB forum.

Groeten
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Beep

Berichtdoor anthonio » wo maart 18, 2009 5:41 pm

las dit op het JB forum.

Code: Selecteer alles
nomainwin
open "beep.bat" for output as #1
print #1, "@echo off"
print #1, "echo ";
print #1, chr$(7); chr$(7);  chr$(7); chr$(7);
close #1
run "beep.bat", hide


Dit schijnt ook een beep te geven, maar ik hoor niets.
Blijkbaar kunnen die ASCI karakters ook een beep geven
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Beep

Berichtdoor anthonio » wo maart 18, 2009 5:51 pm

over die piano, ik denk dat ik de topic gevonden heb.

http://justbasic.conforums.com/index.cgi?board=games&action=display&num=1206063604

groeten
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Beep

Berichtdoor hbh-tieltjes » za maart 21, 2009 4:18 pm

Mijn ASC||-tabel in JB begint pas bij CHR$(33) = !
In het oude MS-DOS kan je onder autoexet.bat een eigen programma starten.
Is dat hierboven met Beep.bat ook zoiets ?
Dan moet er wel ergens zo'n programma staan.

gr Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Beep

Berichtdoor Gordon » zo maart 22, 2009 12:43 pm

Met het RUN commando wordt gewoon het programma command.exe van Windows
uitgevoerd. Daarmee kun je natuurlijk ook gewoon een .bat bestand runnen.

Je kunt natuurlijk ook rechtstreeks de Windows API gebruiken.

Hier volgt een link naar een artikel over het RUN commando
http://babek.info/libertybasicfiles/lbnews/nl114/run.htm

en hier volgt een stukje over de API
http://babek.info/libertybasicfiles/lbnews/nl108/api.htm

let op het stukje over
Code: Selecteer alles
CallDLL #shell32, "ShellExecuteA",hWnd As long,_
    lpszOp$ As ptr,lpszFile$ As ptr,_
    lpszParams$ As ptr,lpszDir$ As ptr,_
    showFlag As long, result As long


Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Beep

Berichtdoor hbh-tieltjes » do maart 26, 2009 2:55 pm

nomainwin
open "beep.bat" for output as #1
print #1, "@echo off"
print #1, "echo ";
print #1, chr$(7); chr$(7); chr$(7); chr$(7);
close #1
run "beep.bat", hide
'Dit geef bij mij in JB weldegelijk 4 Beepjes.
'Wat van dit bestand moet ik opslaan en waar moet ik het opslaan ?
'En hoe moet ik het dan weer op roepen om in mijn prog te gebruiken ?
'gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Beep

Berichtdoor anthonio » do maart 26, 2009 5:47 pm

Code: Selecteer alles
nomainwin
open "beep.bat" for output as #1
print #1, "@echo off"
print #1, "echo ";
print #1, chr$(7); chr$(7); chr$(7); chr$(7);
close #1
run "beep.bat", hide


even kort uitleggen.

open "beep.bat" for output as #1
hier MAAK/open je dus een bestand genaamd beep.bat (=batch-file wat door MS-DOS wordt gebruikt/afgespeeld).
for output = wil zeggen dat je iets in het bestand gaat schrijven
for input = wil zeggen dat je iets uit het bestand haalt
#1 = het window handle

Nadat je het bestand heb geopend voeg je in dat bestand enkele lijnen tekst toe.
de tekst die je wegschrijft is
- @echo off = dit zorgt ervoor dat DOS dus niet alle commands gaat tonen die het gaat gebruiken.
- echo = dit wordt gebruikt bij DOS om iets van tekst op het scherm te tonen (denk aan print in LB/JB)
- chr$(7); chr$(7); chr$(7); chr$(7) = deze zijn asci codes, wat ze precies wil zeggen kan je vinden op het internet.

Nadat de tekst is weggeschreven in een batch-file (beep.bat) sluit je het = close #1
Hierna run je het programma beep.bat (beep.bat wordt uitgevoerd door DOS, NIET DOOR LB/JB, JB/LB geeft enkel de opdracht om
beep.bat te starten.
Je zegt ook hierbij dat je het batch-programma hide (=niet zichtbaar).

Dus kort gezegd schrijf je eigenlijk een batch-file, welke je ook in notepad kan schrijven en run je deze.

groeten.
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Volgende

Keer terug naar Just BASIC en RUNBASIC

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron