I found a Xing VBR SDK in [url:2cdwbm23]http://www.mp3-tech.org/programmer/sources/vbrheadersdk.zip[/url:2cdwbm23]. Xing has an interesting technology on getting the time and position of the VBR MP3. Sadly I haven’t tested it yet…
But anyone interested can check it out.
c u laser
I have solved the VBR problem with some code also found on this forum that checks the first 5000 bytes or so, and searches for a VBR header.
When this header is found, the file is loaded ACCURATE, else it is loaded normally.
Loading the mp3 in memory can also be done in Visual Basic.
- Adion answered 16 years ago
[quote="brett":3g0k4y72]FMOD 3.6 even introduces a FSOUND_NONBLOCKING flag so that it does it in the background.[/quote:3g0k4y72]
With the non-blocking flag, will the stream start playing while it calculates the accurate length in the background as well? I’m just curious exactly what the non-blocking allows us to do and not do.
No don’t do that. It loads the whole file to the memory. Just find on the internet some procedures which analyze the MPEG file. For example in delphi I find usefull the MPEGaudio component found in [url:2y7kkk7t]http://jfaul.de/atl/[/url:2y7kkk7t]. Try to search sth equivalent in vb, or use the delphi code with your dot net suite. 😉
Once you find that your file is encoded with VBR then load MPEGACCURATE.
c u laser
PS. some usefull information can be found in [url:2y7kkk7t]http://www.mp3-tech.org/programmer/frame_header.html[/url:2y7kkk7t]
[quote="Humbrie":2ojlc0rm]In help i found this mode: FSOUND_LOADMEMORY to accelerate. But i don’t know how to handle it in vb.net (or vb6). Anyone got experience with that?
What it means is that you load the entire MP3 file into a memory block that you allocated. Then you use FSOUND_Stream_OpenFile with the FSOUND_LOADMEMORY and FSOUND_MPEGACCURATE flags, passing the pointer to the memory block as the filename parameter. The entire file is then scanned, but since it is already in memory it will be a lot quicker than if the file was still on disk. Of course, this defeats the purpose of streaming since you usually do not want to load the entire file into memory in the first place.
Please login first to submit.