Toon posts:

[J#] Geluid: Toon laten horen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een project op school maak ik een applicatie. Ik wil het gewoon voor een windows omgeving maken. Ik 5 jaar terug veel delphi gedaan, maar de afgelopen jaren heb ik niks gedaan wat in de verte op Pascal lijkt. Wel een beetje C, veel PHP en veel JavaScript. Daarom heb ik gekozen om de applicatie te schrijven met J#.

Nu wil ik een programma maken waarin je zelf de frequentie van een toon invoert en dat je die dan hoort. Ik vind van alles, maar niet duidelijk genoeg.
Ik heb genoeg voorbeelden gezien van hoe ik wave-files of media-files moet afspelen, maar niet hoe ik zelf een toon kan genereren.

Wat is zelf gevonden heb is, o.a.:
http://msdn.microsoft.com...Service_ToneIndicator.asp
http://msdn.microsoft.com...mpBarSound_2_f154b025.asp
http://msdn.microsoft.com...ToneIndicator_Members.asp

Maar ik weet niet goed hoe ik wat moet implementeren. Kan iemand mij dit uitleggen, of de sites toelichten.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01-05 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

Allereerst moet je niet zoeken op "tone" aangezien je gewoon een geluid wil genereren, niet specifiek een toon :). Een toon met een bepaalde frequentie is simpelweg een sinusgolf die op die frequentie oscilleert. Waar je naar moet zoeken is een manier om een array van samples af te kunnen spelen, DirectSound heeft dit soort functionaliteit maar ik denk dat er ook wel andere API's voor zijn.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
[nieuwsgierig]
waarom wil je het eigenlijk in J# doen en niet in C# ( of VB.NET )? Niet dat J# slechter is ofzo maar het is niet echt een veelgemaakte keuze. Kom op internet ( op wat msdn documentatie na ) eigenlijk nooit dingen in J# tegen.

Ik heb dan eigenlijk ook nooit echt het nut gezien van J# binnen het .net platform aangezien het qua syntax vrij veel op C# lijkt en voor de rest het zelfde framework tot zijn beschikking heeft. Ben er eigenlijk altijd vanuit gegaan dat het puur een marketing dingetje van microsoft was voor de java mensen

[ Voor 40% gewijzigd door Woy op 18-08-2005 13:51 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13:49

Janoz

Moderator Devschuur®

!litemod

Waarom gebruik je eigenlijk J#? Die taal is imho ten dode opgeschreven. Hij bestaat alleen om J++ mensen over te halen om met .net te gaan werken. Als je ook echt iets aan dit project wilt hebben kun je veel beter naar C# kijken. Er zit eigenlijk geen verschil tussen. Zoveel anders is de syntax niet. Voorbeelden in C# zullen veel makkelijker te vinden zijn.

@rwb: Meer marketing dingetje tov j++ ;)

Om verder op je probleem terug te komen, waarschijnlijk moet je met toneIndicator een heel eind komen. Met pitch kun je de frequentie van de toon aangeven.

[ Voor 5% gewijzigd door Janoz op 18-08-2005 13:54 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Offtopic: J#, omdat ik nog weet dat je bij C veel meer moet defineren, en de syntax is toch bijna gelijk. Mij leek J# makkelijker. Ik zou echt niet meer weten welke libaries ik moet laden met C#. Maar als er bij C# meer voorbeelden te vinden zijn, stap ik nog wel over. Ik heb nog niet zo veel ;) VB.NET hoef ik niet. Ik heb sinds de MSX niet meer met BASIC gewerkt.

Ontopic:
Met toneIndicator leek me ook dat het zou moeten lukken. Maar het voorbeeld wat erbij staat is dit:
code:
1
2
3
4
5
6
7
8
Indicator.Tone1Pitch = 500
Indicator.Tone1Volume = 50
Indicator.Tone1Duration = 500
Indicator.Tone2Pitch = 0' turn off second tone
Indicator.InterToneWait = 0' no wait after tone-1

Indicator.AsyncMode = False
Indicator.Sound 100, 500


Dat kan ik niet zo copy pasten, er staan geen ; 's achter. Dit doet me meer denken aan BASIC.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13:49

Janoz

Moderator Devschuur®

!litemod

Dat is visual basic code. In principe moet het toch helemaal niet moeilijk zijn om deze te herschrijven naar C# (of J#) code? Het toneIndicator object is verder hetzelfde en heeft in alle .NET talen dezelfde members en methoden.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01-05 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op donderdag 18 augustus 2005 @ 14:22:
Offtopic: J#, omdat ik nog weet dat je bij C veel meer moet defineren, en de syntax is toch bijna gelijk.
C is geen C#, en ook geen C++ ;). J# is bijna identiek aan C# behalve dat het de java syntax geleend heeft. Maar die komt toch ook niet overeen met javascript, en aangezien je niets met java gedaan hebt volgens je post komt de keuze van J# nogal raar over zoals je ziet ;)

(Het is daarom wellicht handiger om nu meteen over te stappen naar C#, nu je toch nog niet zo lang met J# bezig bent. C# is de de-facto .Net taal en als je ooit wilt werken als programmeur is het ook handiger als je C# kent omdat daar meer werk in te vinden is :))

[ Voor 22% gewijzigd door .oisyn op 18-08-2005 14:33 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Ok bedankt, dan doe ik dat. Maar hoe schrijf je die code omschrijven, is dat alleen ; 's erachter en haakjes?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
in dit geval zijn de ;'s de haakjes en het comentaar idd het enige verschil.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
Bedankt allemaal!

edit:
Makkelijke tutorial trouwens, met een hele makkelijke functie: Beep
http://www.publicjoe.f9.co.uk/csharp/csharp18.html

[ Voor 81% gewijzigd door Verwijderd op 18-08-2005 22:20 . Reden: Gevonden ]

Pagina: 1