G
Guest
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.
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.