Load ID3 extended data from specified file. (UNICODE version) Only in version 2.00 and above.
__stdcall W_DECLSPEC int zplay_LoadFileID3ExW(ZPLAY_HANDLE handle, const wchar_t * pchFileName, TStreamFormat nFormat, TID3InfoExW * pId3Info, unsigned int fDecodeEmbededPicture);
Parameters |
Description |
ZPLAY_HANDLE handle |
ZPLAY handle. Get this handle with zplay_CreateZPlay. |
const wchar_t * 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. |
TID3InfoExW * pId3Info |
Pointer to TID3InfoExW 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 |
1 |
All OK. |
0 |
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.
TID3InfoExW id3_info; if(instance->LoadFileID3ExW(L"mySong.ogg", sfAutodetect, &id3_info, 1)) { wprintf(L"Title: %s\n", id3_info.Title); wprintf(L"Artist: %s\n", id3_info.Artist); wprintf(L"Album: %s\n", id3_info.Album); wprintf(L"Year: %s\n", id3_info.Year); wprintf(L"Comment: %s\n", id3_info.Comment); wprintf(L"Genre: %s\n", id3_info.Genre); wprintf(L"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 |