libZPlay documentation (Win32)
IndexReferenceHome
PreviousUpNext
libZPlayCpp::zplay_LoadFileID3Ex Function

Load ID3 extended data from specified file. (ANSI version) Only in version 2.00 and above.

C++
__stdcall W_DECLSPEC int zplay_LoadFileID3Ex(ZPLAY_HANDLE handle, const char * pchFileName, TStreamFormat nFormat, TID3InfoEx * pId3Info, unsigned int fDecodeEmbededPicture);
Parameters 
Description 
ZPLAY_HANDLE handle 
ZPLAY handle. Get this handle with zplay_CreateZPlay
const char * pchFileName 
Points to a UNICODE null-terminated string that specifies file name. 
TStreamFormat nFormat 
Stream format. Use sfAutodetect if you need to autodetect stream format of specified file. 
TID3InfoEx * pId3Info 
Pointer to TID3InfoEx structure receiving ID3 data. User must allocate memory for this structure. 
unsigned int fDecodeEmbededPicture 
Set to 1 to decode attached jpeg, png picture to HBITMAP. See Remarks section. 
Return Values 
Description 
All OK. 
Error. To get error message read here

Check supported formats for info tag support. Some formats can support some sort of "Info tags", but not all. 

libZPlay library implements "ID3 tag" interface to different info tags (VORBIS comment, RIFF Info, ...). So, you can retrieve ID3 informations from different streams (mp3, ogg, flac, wav) because library will convert "format specific tag" to ID3 tag info. 

Note:
This function can retrieve attached picture from info tag. If you need to draw this picture on screen, set fDecodeEmbededPicture parameter to 1 to decode attached picture into HBITMAP. Library can decode jpeg and png image. To draw picture on screen use DrawBitmapToHDC or DrawBitmapToHWND with hBitmap member from TID3Picture. If attached image format is not supported by internal image decoder, use PictureData and PictureDataSize members from TID3Picture and decode these data with your own image decoder. Use MIMEType to determine format of attached image (image/gif, image/tiff, ...).
 

Note:
Use this function if you just need ID3 data and you don't need to play this file. This function only loads ID3 data. There is no checking if this is valid file, wave output isn't open ... This function has no effect on currently open file or stream.
 

 

Load ID3 info from specified file and draw picture on screen. 

ZPlay C++ Class interface  

TID3InfoEx id3_info;
if(instance->LoadFileID3Ex("mySong.ogg", sfAutodetect, &id3_info, 1))
{
  printf("Title:   %s\n", id3_info.Title);
  printf("Artist:  %s\n", id3_info.Artist);
  printf("Album:   %s\n", id3_info.Album);
  printf("Year:    %s\n", id3_info.Year);
  printf("Comment: %s\n", id3_info.Comment);
  printf("Genre:   %s\n", id3_info.Genre);
  printf("Track:   %s\n", id3_info.TrackNum);

  if(id3_info.Picture.CanDrawPicture)
      instance->DrawBitmapToHWND(NULL, 0, 0, 0, 0, id3_info.Picture.hBitmap);
  else
  {
     // can't decode attached image to hBitmap, use PictureData and PictureDataSize
     // to decode this format by your own image decoder
  }
}
Copyright (c) 2010. Zoran Cindori - All rights reserved.

Web: http://libzplay.sourceforge.net/

Email: zcindori@inet.hr