Skip to main content

Reading MP3/WMA Information in FoxPro

A recent post on a newsgroup was looking for a tool that would let them read MP3 tag information (artist, genre, etc). After doing some looking in the new VFP 9 "Fox Media Player" solution sample, it's simply a matter of working with the Windows Media Player COM component.

oPlayer = createobject("WMPlayer.OCX.7")
loItems = oPlayer.MediaCollection
loSong= loItems.add("c:\what time is it.mp3")
? loSong.duration
? loSong.getItemInfo("Artist")
? loSong.getItemInfo("Title")
? loSong.getItemInfo("Album")

Best of all, you can also set the information back again:

loSong.SetItemInfo("Artist","Kane Gang")

I used to rely on a variety of media tools to help catalog my music but using the WMPlayer OCX, I have placed them all into one big Fox table and from there, I update the tags, refresh my files all in a database format that I'm comfortable with.

The other benefit is that I know I'm changing the actual file instead of just some external database cache (like most players have). This makes my music collection work much better on my AudioTron or other Windows Media Center Extender devices.

There's a lot more to the WMPlayer control as well.

You can drop it onto a form and have your own player right in your application and then manage it programmatically.

CurrentPlaylist returns a collection of what's in the current playlist. There is no Add method here but instead AppendItem and InsertItem to place them at different locations in the player. These methods don't take strings to the music file though. They need to take song pointers.

loPlay= oPlayer.currentPlaylist
loSong = oPlayer.mediaCollection.add("music\what time is it.mp3")
loPlay.appendItem(loSong)

When controlling a song, you use the Controls property

oPlayer.Controls.Play && Play the song


FYI - the PlayState property tells you what's currently happening.

0 - Undefined
1 - Stopped
2 - Paused
3 - Playing
4 - ScanForward
5 - ScanReverse
6 - Buffering
7 - Waiting
8 - MediaEnded
9 - Transitioning
10 - Ready
11 - Reconnecting

Now you can manage your entire music library properly via VFP!

Comments

Popular posts from this blog

Blogs and RSS come to Microsoft.com

MS has just introduced their portal and it's pretty comprehensive. Nothing quite like learning that some people use AIM instead of MSN messenger, or that there really may be a need for supporting 4 monitors ( Cyrus Complains ) However, it's really a great sign that MS is serious about supporting the blogging community which seems to have um, exploded in size in the past year. Blogs and RSS come to Microsoft.com

FoxInCloud Stats

FoxInCloud sent this link a while back about their statistics regarding visits to their site: http://foxincloud.com/blog/2017/12/27/VFP-community-lessons-from-foxincloud-site.html What's interesting here is the breakdown of people. Yes, I think it's understandable that the Fox community is getting older. Another factor is the growth of the mobile and web environments taking over development. These environments really do push people towards the newer non-SQL or free SQL/hosted environments but more towards hosted storage options like Amazon and Google. A tool like FoxInCloud that helps MOVE existing applications to the cloud inherently competes with those environments. But FoxInCloud also allows developers to extend their application further by giving them a starting point using Javascript and the basic CSS (such as Bootstrap). If you're not rebuilding your application from scratch, it's certainly a great step forward. FoxPro VFP

Facebook Revolt - imeem alternatives?

When Scoble noted how Facebook under major revolt , I immediately thought of a site I found yesterday. The value offered by Facebook's feeds however do seem very cool - if only they had been smart and made them opt-in, instead of opt-out. I have been impressed though with Facebook's opening of their API's - they certainly get it that they need to open it up to developers. I haven't really explored this other site, beyond my first look. In some ways, I think the whole social networking site thing is just silly , but this site (imeem) definitely showed some value. I could find music (as posted by the artist), it worked in Firefox and it allowed people to rank, add to delicious and more. And when I'm looking at someone, I can see what they're up to (or rather what they allow us to see). Anyways, you may want to check it out.