here is my code:
[code:2481jcgi]Private Sub TestTags()
Dim Ntags As Long
FSOUND_Stream_GetNumTagFields streamHandle, Ntags
Dim i As Integer Dim m_tagtype As Long, m_name As Long, m_value As Long, m_length As Long For i = 0 To Ntags - 1 FSOUND_Stream_GetTagField streamHandle, i, m_tagtype, m_name, m_value, m_length Text1.Text = Text1.Text & m_name & " - " & m_value & vbCrLf Text2.Text = Text2.Text & GetStringFromPointer(m_name) & " - " & GetStringFromPointer(m_value) & vbCrLf Next
11261756 – 11261761
11261836 – 11261841
11261932 – 11261937
11262012 – 11262017
11262884 – 11262889
11262956 – 11262961
11263028 – 11263033[/code:2481jcgi]
MCDI – 1
TLEN – [/code:2481jcgi]
what im doing wrong?
why im getting a null value?
thx in advance.
- mkmr asked 11 years ago
For unicode, you may implement something like:
If m_length > 2& And (m_length mod 2&) = 1 then
dim xByteA1(2) as byte
call rtlmovememory(xByteA1(0), byval m_value, 3&)
If xByteA1(0) = 1 And xByteA1(1) = 255 And xByteA1(2) = 254 then
‘ handle as unicode
Some tags, esp. oggs, also have UTF8 (for special characters).
Another issue is that your file may contain both ID3 v1 and v2 tags, and one of those is a blank string
I’ve uploaded some source code; I’ve switched all fmod related stuff to a layer/DLL created in PureBasic (I original used a custom tag reader, with release 3.71 switched to fmod’s tag reading, but soon went on using the PureBasic dll, means the VB version is old and does not support unicode etc well, but it should work at least)
Please login first to submit.