The problem with Sony MP3 players is that the software is not intuitive and
buggy. The Disc2Phone application included with my Sony Ericsson W800i
fails to copy audio tracks to the phone properly. I was looking for a way to use
Winamp or iTunes to manage the MP3s on the phone. As it turned out, I was able
to do it with iTunes.
I was able to wrap it all up in a small C# program. Download it from here . Update : this now also
deletes files on the phone that are not in the play list, keeping it completely
in sync. It only deletes files inside the MP3 directory, so dont put anything
else in there :)
Instructions:
1. Install all of the requirements.
2.
Download the setup and
install.
3. Start iTunes, if it is not started the program will start it for
you, but be patient.
4. Select the playlist you want to synch with the phone.
It is better to create a new playlist like "W800i List" and add your tracks to
this.
5. Click on the Synch button to start
synchronising.
6. This takes a while. You can speed up the copy process by
using a Memory Stick reader, which is faster than going through the USB data
cable. Take the memory stick out of the phone, put it in the reader, plug the
reader in and synch.
Disclaimer: Use the program at your own risk. This program is un-supported
and I will not be held for any damages, liabilities, warranties, natural
disasters and if your dog eats it. However, feel free to report bugs and
features.
Requirements:
.Net
2.0 Framework
iTunes 6.0
How it all works
When plugged in to the computer,the phone is bacially a Mass Storage Device
just like any other USB flash drive. The Memory Stick on the phone contains a
directory "MP3". All that needs to be done is to copy the MP3s to this folder.
Use the System.IO.DriveInfo.GetDrives()
method of the DriveInfo class
in .Net 2.0 to get an array of DriveInfo objects representing all the
drives on the computer. Iterate through this array to check for removable drives
using the DriveInfo.DriveType property and then check for
drives that have a "MP3" directory in the root. Use the
DriveInfo.IsReady to check if the removable disc is ready.
The next step is to copy only the MP3s in a specific iTunes playlist. iTunes
has an exellent COM interface. To program against this in C#, add a COM
reference to the "iTunes 1.6 Type Library". iTunes is started
by;
itunesApp =
new
iTunesAppClass();
Use the iTunesAppClass to get the collection of playlists;
playlistCollection = itunesApp.LibrarySource.Playlists;
You can then get a specific playlist, like the playlist you want to synch the
phone with;
playListToSynch = playlistCollection.get_ItemByName("W800i");
The playlist will have a collection of IITFileOrCDTrack objects. Each IITFileOrCDTrack object has Artist,Album and Location
properties. The Location property gives the physical location of the audio track
on the computer. This is used to copy the track to the phone. Iterate through
the tracks in the playlist and copy the files to the phone. Thats all there is
to it. With this technique it is possible to use iTunes with other USB type
devices that play MP3's.
The next step is to improve the synch functionality, right now it is
just a one way copy process. Update : This functionality is now
included.