Yep, new phone, new ringtones.
Granted, i could use the old, horrid ringtones without any problem, but it's been MORE than a few years and more phones are able to actually handle MP3s as ringtones. So i figured i'd spend a bit of time tinkering to see how i could do it without spending $5 a track. Particularly irksome since the ringtone i wanted isn't in their crappy store.
Well, turns out, it's actually pretty straight forward. Expanding on what was there before, you need to do the following:
First, modify your .htaccess file to send mp3 files as mp3 files.
AddType audio/mp3 .mp3
Most servers will send the file as type "audio/mpeg" which is fine for most apps, not so fine for your cellphone.
The next thing is to construct the audio file. This took a bit of tinkering, but basically, your phone is a crappy MP3 player when it comes to ringtones. You'll need to set the MP3 as 96Kbps (constant), Mono at about 30 seconds. (Don't whine that you can't convert the file when you know you can.) Yeah, 96K sucks if your an audiophile, but if you really were, you wouldn't be listening to your phone.
Once that's done, upload it to your ringtone server (the directory with the .htaccess file) and build the GCD file. Again, make sure that you set the type correctly.
Content-Type: audio/mp3
Content-Name: code monkey
Content-Version: 1.0
Content-Vendor: unitedHeroes.net
Content-URL: http://www.unitedheroes.net/phone/cm_ringtone.mp3
Content-Size: 492901
Again, the Content-Size is the number of bytes in the file. ("ls -l" is your friend)
Now, create a handy index page that you can point your phone at, skip down to the MP3 file you want, and download the bugger.
One thing to note, you're getting good sized files for these ringers. Watch your memory.
Oh yeah, and have fun annoying everyone.

