I've experimented in different projects with doing it both ways and we've finally decided that it's easier to use the file system as well. After all, the file system is already optimized for storing, retrieving, and indexing files.
The one tip that I would have about that is to only store a "root relative" path to the file in the database, then have your program or your queries/stored procedures/middle-ware use an installation specific root parameter to retrieve the file.
For example, if you store XYZ.Wav in C:\MyProgram\Data\Sounds\X\ the full path would be
C:\MyProgram\Data\Sounds\X\XYZ.Wav
But you would store the path and or filename in the database as:
X\XYZ.Wav
Elsewhere, in the database or in your program's configuration files, store a root path like SoundFilePath equal to
C:\MyProgram\Data\Sounds\
Of course, where you split the root from the database path is up to you. That way if you move your program installation, you don't have to update the database.
Also, if there are going to be lots of files, find some way of hashing the paths so you don't wind up with one directory containing hundreds or thousands of files (in my little example, there are subdirectories based on the first character of the filename, but you can go deeper or use random hashes). This makes search indexers happy as well.