MP3s And Drupal - What Works?

Photo of Greg Harvey
Mon, 2008-06-09 08:16By greg

I've been doing more planning than Drupaling over the last few weeks, hence the lack of blog posts, but here's a new one for you:

I downloaded and tested the Audio module the other day. On the face of it this is a pretty cool module. It installs an Audio content type automatically which allows you to upload various audio file formats, including MP3s. It comes with a Flash-based MP3 player you can embed in your site, it can automatically detect MP3 info from the ID3 data and has more features besides. There are, however, some problems which are niggles on an amateur/self-maintained content site, but could be big if you are trying to create a professional-looking social media site.

  1. The player only supports certain bit-rates. If you upload an MP3 which is not of the correct bit-rate, instead of rendering the player Drupal just renders a link to the audio file. This is not very good. Solution? You need to process all uploaded MP3s to make sure they are in a supportable format, but this takes processing power and nothing currently exists to achieve this easily.
  2. Audio uses the File upload module, which is fine, but it means that if you want people to be able to upload 8MB MP3 files, you must also permit them to upload 8MB Word docs. In fact, you have no granular control over file size by content type with Upload. Can be an issue.
  3. It comes with a whole bunch of stuff and dependancies you probably DON'T need.

So, with this in mind, we are doing something slightly different for WhatTalent:

  1. We are using the Google MP3 player (while we look in to creating our own) which is unbranded and supports all bit-rates (so far as we can tell). You just point a URL at it and it plays the file. Cool!
  2. We are using the CCK FileField module to power our audio uploads. This gives you granually control over supported file extensions and still allows automatic gathering of ID3 information.
  3. We are writing a small module to extend the FileField module to allow it to save a maximum filesize on a field-by-field basis (it takes the max from the PHP settings by default, which sucks, but it's an easy fix - I'll probably publish the finished module).

There you go. A "no frills" but effective way to host MP3s in a quick and professional looking manner.

Next stop, video!