I have a big trouble with creating of the SecondaryBuffer, below my
Dim testBuffer As New SecondaryBuffer(testBufferDesc, testDevice)
He says "Value does not fall within the expected range."I have searched on google, but i dont find any solution. I also tried the search engine on this forum, but nothing.I just want to play a sound from a memorystream because my data is stored in a byte array.
I'm trying to play a music file. When I went to add reference and clicked on Microsoft.DirectX.AudioVideoPlayback.dll, it won't load. How do I resolve this problem?
Is this the preferred method for playing audio files?
I am trying to create a clone function to create a deep copy of an object. I have a very simple class with one property, a List of another custom class. Everything I try keeps ending up with the cloned object being a pointer to the original. I was able to do this in C#, but when I translated the code to VB2010 the copy does not work. My simple class is below.
How to solved error Unable to cast object of type 'System.Int32' to type 'Microsoft.DirectX.Direct3D.VertexShader'
We want to case ''System.Int32' value into 'Microsoft.DirectX.Direct3D.VertexShader' I tried with CType but not working.Also tried mD3DDevice.VertexShader = CObj(D3DFVF_CUSTOMVERTEX_BOX)
this error seems to be an error on Microsoft's part with Windows 7 and DirectX9. DirectX11 on Windows 7 should be able to run DirectX9, but it says it can't find the assembly called "Microsoft.DirectX.Direct3D.dll". I know for a fact that he can play Assasins Creed on Windows 7 which uses DirectX9.. Why does that game work but not my application? I'm using VB.NET btw.
I decided to add some 3D rendering to my project and found an interesting little quirk. DirectX doesn't like to work under the AnyCPU Platform; it won't run. Instead you have to assign it to a new platform x86 under the Configuration Manager; which makes debugging difficult because if your doing User Controls they won't load.
According to this article, to clone a secondaryBuffer you need to disable the EffectCaps.
"Initially, the duplicate buffer will have the same parameters as the original buffer. However, the application can change the parameters of each buffer independently, and each can be played or stopped without affecting the other."
How can i re-enable the EffectCaps on the cloned SecondaryBuffer?
Currently, I am attempting to send an email using VB.NET. Now, I have added a reference with this code: (I have added placeholders)[code]How can I get the references to work, for all of the Outlook items (Outlook.Application, Outlook._MailItem, Outlook, Outlook.Attachments, Outlook.Attachment) are either undeclared or undefined.
I want the Indexing server Query to Search any type of document by document name.Let assume i have ..
test.ppt test.pdf test.doc and so on.
If I enter the test name in my search text box the , I want the search result with these file. I am using the vb.net with the help of MicroSoft Indexing Serice. I need the query of MicroSoft Indexing Serice for search any type of document by document name or title.
Public Function GetSearchResultFromIndexServer(ByVal strSearchString As String, ByVal sPath As String, ByVal sLookIn As String, ByVal sSortBy As String, _
i am new to directsound. I was wondering if someone could point to a resource that explains how to load wav files and play them using directsound. I found one webpage that explains how to load wavs and play them but you load them by clicking a button and searching a window for the file; what I need is programmatic loading. I can't use simpler methods to play the wavs because I need multiple sounds playing at once and very fast execution times. If it isn't too difficult, perhaps someone could post some code.
I'm currently trying to Capture through DirectSound, I've been trying toying around with WaveLib(Ported to VB) but this is very confusing. Anyway, I cant figure out how I am supposed to do this and would like some assistance. The end goal of this project is to: Record Microphone > Encode with Speex Codec > Send over UDP > Decode > Play on Speakers
I am trying to follow some tutorials on using DirectSound in VB.NET and I need a reference to Microsoft.DirectX.DirectSound in my project. I have downloaded and installed the Microsoft DirectX SDK (June 2010) but after a restart I have no additional .NET references available to add to my project. I must be doing something really dumb
where I'm going wrong with my circular DirectSound Capture buffer here? If I just capture sound into a big non-circular buffer it works fine, but with a 1 second (44100 bytes) buffer and a 100ms timer to poll the read position it goes haywire. No error messages, just long blocks of zeros with short bursts of valid data. calculation of the number of bytes to read and/or the read position.
Here is the code. gBuffer is defined elsewhere as a big byte array. In this example I am just trying to copy the captured sound data from the small temporary byte array (tempBuffer) into the big gBuffer byte array. Obviously this must be done so that every byte is read and copied into the byte array with no gaps or duplication of values. Timer1 is set to 100mS:
Dim McaptureBuffer As CaptureBuffer Dim MiLastReadPos As Integer Dim MiBufferOffset As Integer
I have used DirectSound to play a wave file in my application using the function CreateSoundBufferFromFile. It works perfectly.Now I want to play files from a resource dll file. I have created 1n2v32.dll file having nearly 100 small wave files named 1,2,3... I can play them using LoadLibraryEx, PlaySound & FreeLibrary.Now, I am trying to use CreateSoundBufferFromResource function from DirectSound api to play these files. I get Run-time error '432': File name or class name not found during Automation operation I used the following code to create the buffer.
Set LDSB = LDS.CreateSoundBufferFromResource(App.Path & "1n2v32.dll", "14", BufferDesc, gw)
I use the following code (with Imports Microsoft.DirectX.DirectSound and Microsoft.DirectX) to play sound using an 8 second static buffer:
Dim SD As Device = New Device SD.SetCooperativeLevel(Me.Handle, CooperativeLevel.Priority) Dim MS As New IO.MemoryStream(Gbuffer) ' Gbuffer is byte array with properly formatted WAV data Dim waveFormat As New WaveFormat waveFormat.SamplesPerSecond = 44100 [Code] .....
What I would like to do next is to change to a "circular" or "streaming" buffer so that I can write new data "on the fly". I've done a lot of Googling but can't quite see how to adapt my present code to use a circular buffer. I can get the current write and play positions using Msb.GetCurrentPosition(iPlayPos, iWritePos) but how do I actually insert new data into the buffer? I have tried "manually" writing new data into my Gbuffer byte array but that doesn't work - I guess once a sound has been played through once, the data is cached somewhere and the contents of Gbuffer are not used again.
So I was working in the forums and on the side bar of some thread I saw this link: [URL]...It turned out to be almost entirely about MIDI, but it made me think that I really need to share some code I wrote a few months ago and see if perhaps there is reason to create what the above thread really asked for.Here's a little background on the following code:
Back in April or so of this year I was doing some spring cleaning and came across the old Yahama PSR-6 synthesizer keyboard I had received one year for Christmas when I was around eight. I remember I used to like the Bagpipe voice because at the low notes it made a good fart sound. For a Toys-R-Us/Radio Shack model keyboard, running on six D-Cell batteries, produced in the early to mid eighties, that was an impressive achievement. LOL Anyway, I always did want to learn to play piano (or keyboard) so I decided to literally dust the thing off, put batteries in it, and fiddle around a bit. A couple YouTube videos later and I was convinced that I wanted to do this. While I was waiting for the thing to ship and arrive, I thought that it really shouldn't be that hard to take a DirectSound SecondaryBuffer object and inject it with sound data which whas calculated based on the harmonic values of musical notes, thereby creating your own synthesizer.
First, I really had little idea what I was doing when I first set about doing this other than the general structure of calculating byte data for notes and stuffing them into a SecondaryBuffer object while it played. I had used direct sound a number of times in a number of ways, but always playing sound data that came from a source (file, stream, etc.). This would be my first attempt at generating sound data for the buffer.
Second, I'm a "code-as-you-learn-learn-as-you-code" kinda guy, so that means that I developed the initial project as I went. I would research a specific portion of the project (and there was a LOT of research to do! lol) and then code it and move on to the next. Of course, this eventually leads to a mess of a project in most cases where the foundation is a bit complex to begin with. So the code I'm posting is the second version of the concept. But even at that, I'm only going to post the primary user control at this point and hold back on the code for the test application I created with it (I will provide a download to the compiled app however). After getting the user control cleaned up (if not ideally redesigned), the second app became a "develop-as-you-go" project for the test application - so it is a bit of a mess now too; but mostly just to look at code-wise - it actually runs pretty well.
Third, there are still a few design issues that could be improved upon in the user control, and a few choices which were made for ease of coding that could be changed for performance. But because of this, other than for a couple of routines, most of the code should actually be pretty straight forward to anyone who's comfortable in VB already.
Ok, on to the example: we are going to create a MusicKeyboard control. This control will draw itself like a pinao keyboard and will render keys for the specified number of full octaves. Clicking a key will play the associated note in the specified voice. Voices will be created using a simple digital oscillator and optional even-noise generator on top of a sine wave form.
To get started, you'll first need to have the DirectX SDK installed. The latest one is available here:[URL]..displaylang=en however the example was created using the version from March 09. There should be no impact from using the newer version.
Once you have the SDK installed, create a new Windows Application and add a new User Control named MusicKeyboard to the project. Note that you could create a Windows Class Library project, but I personally like to develop in an Application for ease of testing and later convert to a class library.You'll need to drag a BackgoundWorker component from the toolbox onto the usercontrol and name it "SynthWorker". Set the worker's WorkerSupportsCancellation property to True.
Now you'll need to add the DirectX reference to the project. You can rightclick the project in the solution explorer and select Add Reference or go to My Project and the References Tab. From the list of .Net references,add Microsoft.DirectX.DirectSound.That should be all we need to get started. In the following posts we'll create a bunch of code files and get the keyboard noise-worthy.Reed Kimble - "When you do things right, people won't be sure you've done anything at all"
I was wondering if anyone could point me to a really good tutorial on Directsound.I don't know if trying to digest an API is a good thing for a beginner but I really need something that has a beginner in mind.I especially liked some of the Microsoft video tutorials on VB.NET so perhaps they offer some on Directsound?The goal is to stream a WAV file, (not just "play it") and I want to LEARN the process.
Im new on SQL databases and im working with the "Northwind" sample from microsoft. there are 4 tables with this realtion Customer->Orders->OrderDetails->Products. i want for every customer to list the products ordered... how can i link those 2 tables?
There is something that I do not understand the point of, and it has to do with ICloneable.
Take the simple example below:
Public Class MyClass2 Implements ICloneable
Private p_List As New List(Of String) Private p_Number As Double
[CODE]...
No... For the life of me I cannot understand why anyone would want a Shallow copy of anything.... And... I do not understand why the Me.MemberwiseClone would not work with list and arrays....
on cloning a selected listviewitem from listview1 when a button is clicked to listview2. How do I achieve this? Here is the code I have but does not work exactly how I want it, it just makes a clone of all the listviewitems in listview1.
foreach (ListViewItem item in this.listView1.Items) this.listView2.Items.Add((ListViewItem)item.Clone());
I would like to know how i can clone an image of a picturebox.I have the picturebox not visible on my screen and want to recreate the image on a certain location.what is the easiest way to do this?
I have a panel that is "drawn" on by passing: panel.CreateGraphics.GetHdc() into an api call
I was wondering how i can then clone what is now on that panel to another - i have tried: panel.DrawToBitmap and then painting the resulting image on the other panel - but this doesn't work
oh and also the panels may not be the same size ... so in this case the result would need to be "stretched" or "shrunk"
I have a object collection type of BindingList(of T), i want to take same copy of the object. but the problem is when ever i made the changes in the copy then the original object also reflect that change, how can i avoid it .
I am trying to clone some of my Controls, with their EventHandlers. I have a function to retrieve the Delegate of a specific EventHandler.The hard part is to find the correct naming to use.
This is the function I'm using Private Function GetEventDelegate(ByVal ctrl As Control, ByVal eventname As String) As [Delegate]