473,785 Members | 2,261 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Waveform display

I am currently rewriting an application originally developped in VC++ that
plays a .wav file and displays a representation of the waveform as it is
played (with a marker indicating current position in the audio file); making
use of DirectX9.

So far I am able to load and play, stop and resume play of a sample .wav
file. I am making use of a previously developed user control that is capable
of displaying the waveform (statically), scrolling form right to left,
zooming in and out, etc.

The control currently displays a portion of the waveform (with the marker
and starting postion in the center of the control), and the scrolling
triggers a Refresh() which calls my draw method using Drawline(pen,
X1,Y1,X2,Y2). The control will also need to play and display at variable
speeds, rewind and fast forward. I need to be able to synchronize the play
position in the audio file and the relative marker position on the control.

My question is this: Am I missing the boat completely? Is there an easier
way to do this in C# or am I on the right track and just have a little more
work ahead of me? I would appreciate links, tips, source code samples,
anything at all.

Thanks in advance,
Aaron N.
Nov 16 '05 #1
2 13146
Been a while since I looked at wav and multimedia stuff... Have you googled
on this? I did and found quite a lot of stuff...

http://www.google.co.uk/search?sourc...iles+play+c%23
[beware of line breaks]

"Aaron N." <ja*********@SP AMYOURSELFhotma il.com> wrote in message
news:24******** *************** ***********@mic rosoft.com...
I am currently rewriting an application originally developped in VC++ that
plays a .wav file and displays a representation of the waveform as it is
played (with a marker indicating current position in the audio file);
making
use of DirectX9.

So far I am able to load and play, stop and resume play of a sample .wav
file. I am making use of a previously developed user control that is
capable
of displaying the waveform (statically), scrolling form right to left,
zooming in and out, etc.

The control currently displays a portion of the waveform (with the marker
and starting postion in the center of the control), and the scrolling
triggers a Refresh() which calls my draw method using Drawline(pen,
X1,Y1,X2,Y2). The control will also need to play and display at variable
speeds, rewind and fast forward. I need to be able to synchronize the play
position in the audio file and the relative marker position on the
control.

My question is this: Am I missing the boat completely? Is there an easier
way to do this in C# or am I on the right track and just have a little
more
work ahead of me? I would appreciate links, tips, source code samples,
anything at all.

Thanks in advance,
Aaron N.

Nov 16 '05 #2
Thanks for the reply,

I can play the wav file, control the volume and the balance etc. That's all
provided in the DirectX9 samples.

What I need to do now is build a visual component that displays the waveform
and can (as accurately as possible) indicate where I am in the file. I am
standing on the shoulders of another developer here that wrote a
"WaveContro l" user control that statically displays the waveform and can do
things like scroll and zoom. I'm trying to build on it and synchronize it
with the playing of the audio to indicate relative position.

I guess what I'm trying to avoid is re-inventing the wheel... if it's been
done before, I'd really like to save time on this portion of the project.

Thanks for the input.
Aaron N.
"Dan Bass" wrote:
Been a while since I looked at wav and multimedia stuff... Have you googled
on this? I did and found quite a lot of stuff...

http://www.google.co.uk/search?sourc...iles+play+c%23
[beware of line breaks]

"Aaron N." <ja*********@SP AMYOURSELFhotma il.com> wrote in message
news:24******** *************** ***********@mic rosoft.com...
I am currently rewriting an application originally developped in VC++ that
plays a .wav file and displays a representation of the waveform as it is
played (with a marker indicating current position in the audio file);
making
use of DirectX9.

So far I am able to load and play, stop and resume play of a sample .wav
file. I am making use of a previously developed user control that is
capable
of displaying the waveform (statically), scrolling form right to left,
zooming in and out, etc.

The control currently displays a portion of the waveform (with the marker
and starting postion in the center of the control), and the scrolling
triggers a Refresh() which calls my draw method using Drawline(pen,
X1,Y1,X2,Y2). The control will also need to play and display at variable
speeds, rewind and fast forward. I need to be able to synchronize the play
position in the audio file and the relative marker position on the
control.

My question is this: Am I missing the boat completely? Is there an easier
way to do this in C# or am I on the right track and just have a little
more
work ahead of me? I would appreciate links, tips, source code samples,
anything at all.

Thanks in advance,
Aaron N.


Nov 16 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1809
by: Brian | last post by:
I want to develop an application that has an oscilliscope . I was wondering if anyone has experience (good or bad) of any commercial charting packages that will provide this sort of functionality. Thanks, B
0
4992
by: Ada | last post by:
i'm using C# and have been reading DX doc but cannot find the info i'm looking for. i want to load WAVE file and display the waveform. something similar to this: http://www.codeproject.com/audio/waveedit.asp#xx489900xx is it doable with DX 9? can you show some code sample or doc or URL i can read more?
2
4448
by: riscy | last post by:
Has anyone know good webpage or book covering C# code in transformation of real time or sampled time data into FFT spectrum display (using GDI+). I like to learn FFT processing in abc way...can anyone point me good book or student course booklet. Thanks.
0
1701
by: Ronald Walker | last post by:
Does anyone have any examples or ideas on Displaying Waveforms without extra dll or ocx add-ons? I'm using mmcontrol to access a mp3 file... Then I play that file from point A to point B.. I want to display a Waveform of that and then a Waveform of someone saying the same thing into the mic.. This is so they can compare the two. I'm hoping Volume level will not matter.. Looking for something like the Waveform that is displayed in...
1
2175
by: d6ve | last post by:
I need to play a video file, see the waveform of its audio and use the waveform as a slide bar for seeking in the video. Thanks and regards, David. -- d6ve ------------------------------------------------------------------------
1
3582
by: android | last post by:
hi all anybody knows a technique, a link, a suggesstion, ...a book, ables to show me how to draw a waveform file wavegraph on picturebox in vb.net? thanks very much Andrea
3
4080
by: Julien | last post by:
Hi, I would like to pull out the waveform of an audio file and save it into an image file, for example in GIF format. Is that achievable, and if so, how? I heard about the Snack module, but the project looks dead and un- maintained. Your advice would be greatly appreciated.
1
3596
by: fevos | last post by:
hi i look at this article in msdn Recording and Playing Sound with the Waveform Audio Interface and download the P/Invoke Library Sample that record using wave in and wave out . how do i get the data from buffer (Waveform Audio Interface) (wave in) while recording and play it using c# or vb (wave out) , thanks
1
3263
by: catherine0136 | last post by:
Hello. I am pretty new to VB therefore i need guidance on the following : Basically, my circuit board is connected to solar cell and also a power supply(those laboratory DC power supply used in schools) and its connected to the computer via a RS232 Serial cable port. Thru the serial cable port, a voltage level is sensed and is displayed on the "Voltage Level in Volts(V)" -- See attach image As for now, i am also needed to display the...
0
9484
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10350
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10097
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9957
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8983
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7505
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5386
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3658
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2887
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.