Suomi24 Keskustelussa on viikonlopun aikana ollut poikkeuksellisen paljon bottien automaattiseti luomia kommentteja. Pahoittelemme tästä aiheutunutta harmia. Olemme kiristäneet Keskustelujen suojausasetuksia ja kommentointi on toistaiseksi estetty ulkomailta.

PC speaker ohjastelu ilman consolea?

tarviis piipata...

Hei!

Miten saa tehtyä Windowsilla piip-ääniä PC speakerilla ILMAN consolea? Onko mahdollista ollenkaan? Vastaukseksi ei nyt käy ECHO ^G tai vastaava printf-viritelmä, kaipaisin ohjetta miten voisi ohjastella PC speakeria ilman, että näytöllä vilahtelee console-ikkunaa.

Tarve olisi yksinkertaisesti generoida jotenkin .exe, jonka ajamalla kuuluu äänimerkki, eikä mitään muuta.

Tällaista olen kokeillut:
#include // WinApi header file

void main()
{
Beep(1500,250);
}

...joka sinänsä toimii, mutta jotta tämän sai kääntymään Visual Studiossa oli pakko perustaa console application. Tuloksena yli 150 kB kokoinen .exe (kyllä nyt yksi piippaus pitäisi syntyä muutaman kB:n .exe:lläkin??) joka toimii, mutta ajettaessa vilahtaa näytöllä konsoli-ikkuna.

Miten tämä pitäisi tehdä oikealla tavalla? Ei luulisi olevan vaikea, mutta kun ei ole tuo Visual Studio meikäläiselle kovin tuttu...

4

385

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Ihan helppoo

      Täytyyhän sillä joku isäntä olla. Kyllä pääikkunan voi joko piilottaa tai näyttää halutessaan oli se sitten konsoli tai ei. Siinähän voi olla upotettuna mediasoitin, jota ei näytetä, mutta joka kuuluu ja sitten voi vaikka mikkiin itte puhua paremmat äänet ja käyttää varastoistaan audioitten BMP: tä WAV: ia, jolta voi sanoa mitä vaan.

    • Kikka57

      Älä tee konsoli-ohjelmaa, vaan Windows-ohjelma.
      Ota esimerkki ohjelmasta turhat pois, tähän tyyliin:

      int APIENTRY _tWinMain(HINSTANCE hInstance,
      HINSTANCE hPrevInstance,
      LPTSTR lpCmdLine,
      int nCmdShow)
      {
      Beep(1500,250);
      return 0;
      }

      • Hianoo!

        Toi on hyvä idea, jos haluu soittaa yhden piipin yhdellä taajuudella. Jos haluu vaik piippolan vaarin soittaa kaikilla tarvittavilla taajuuksilla, niin laittaa vaan taajuuden jakeston uuteen piippiin perätysten niin kauan, että se on piippolan vaari siinä niin, että kaveritkin kuulee, vaikka mitään ei näy.


      • alkup. kysyjä...

        Kääntyi, 89088 tavua.. :-)

        Onhan tuo edelleen suurehko, mutta ilmeisesti windowsilla ei pysty pienempään.. No, eipä tuo haittaa ja pääasia että toimii tarkoituksessaan. Tässä sovelluksessa ei tosiaan tarvita yhtä piippausta kummempaa eli haetaan pientä hälytysääntä joka ei ole liian häiritsevä, mutta erottuu lievästä taustahälinästä. Kokonaan toinen ja suurempi sovellus ajaa tämän exen hälytystilanteessa, se on idea.

        En ole tosiaan winikkaan juurikaan mitään koodaillut, enempi sulautetulle puolelle perus C:llä ja vielä enempi assemblerilla. Sulautetussa ympäristössä tuollainen speakerin piippauskoodi vaatii ehkä parikymmentä tavua korkeintaan, joten siksi tuo 89088 kuulosti minusta isolta. Mutta tietysti jollain muutaman kB muistilla varustetulla sulautetulla ja PC:llä on eronsa.. :)

        Kiitokset!


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Millä voin

      Hyvittää kaiken?
      Ikävä
      69
      2237
    2. Jotain puuttuu

      Kun en sinua näe. Et ehkä arvaisi, mutta olen arka kuin alaston koivu lehtiä vailla, talven jäljiltä, kun ajattelen sinu
      Ikävä
      101
      2063
    3. Haluan sut

      Haluatko sinä vielä mut?
      Ikävä
      78
      1678
    4. Haluaisin aidosti jo luovuttaa ja unohtaa

      Ei tästä mitään tule koskaan.
      Ikävä
      78
      1496
    5. Hei A, osaatko

      sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en
      Ikävä
      41
      1490
    6. Ampuminen Iisalmessa

      Älytöntä on tämä maailman meno.
      Iisalmi
      10
      1387
    7. Pohjola kadulla paukuteltu

      Iltasanomissa juttua.
      Iisalmi
      31
      1354
    8. 52
      1248
    9. Synnittömänä syntyminen

      Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.
      Helluntailaisuus
      62
      1190
    10. Mitä tämä tarkoittaa,

      että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?
      Ikävä
      28
      1179
    Aihe