Skip to navigation

malevolent design weblog

This blog is now defunct, but you can find more stuff over at my personal site

Link to Audio Excerpts With ‘quoteplay’

Available in 16,777,216 colours

quoteplay is the project that’s been keeping me busy recently. It’s my attempt at solving the problem of linking to specific segments of audio content (e.g. when quoting from a podcast); many people have discussed this problem, and a few have hacked together their own workarounds, but no one seems to be offering a packaged solution for non-programmers.

I’d pondered the problem for a while, but was partly prompted into action by John Dowdell’s question and the Jon Udell script mentioned. Combining and improving upon the two approaches seemed an obvious thing to do.

The first part of quoteplay is a Flash MP3 player which a site owner installs to let anyone select audio clips and generate URLs to play them back. It seems to work OK but downloads the entire file beforehand, which is a major limitation. No server-side scripting is needed though, so it works with any hosting and requires minimal technical knowledge to install.

The second part of quoteplay (due whenever I can find the time) consists of a PHP script to slice audio files, which will solve the download problem and allow playback via the user’s own audio player. Initially it’ll probably be crude (simple slicing via HTTP and local file access), but eventually I’d like it to create valid MP3s, handle ID3 data, and not require duration in the link.

It’s up to the owner of the audio content to offer quoteplay, rather than the person doing the linking. In a world of lawsuits over deep-linking and framing that seemed sensible, and Flash won’t load data across domains without permission.

quoteplay is free, but as an experiment I’m offering optional registration. All registered sites will be listed, so everyone gets to see if this approach helps fund future development or not.

Anyway, please give it a try and do comment on the idea and implementation (bearing in mind it’s only at v0.1 !).


If it's done in Flash, why does it need to download the entire MP3 file? If you set the 2nd parameter to true in loadSound, it'll stream. Granted, you can't scan till the file's downloaded, unless using an mp3/FLV via Flashcom, so just curious.

JesterXL, 8th Feb, 9:15pm

I initially looked at streaming but had problems getting it to play from a certain point. I didn't persevere though and may have missed something.

In the end I decided that even if I got it working then the additional interface issues would complicate and delay the project without fully solving the download problem.

I'll look into it again once the server-side script part is launched and stable, so any helpful suggestions are welcome.

Matt Round, 8th Feb, 10:34pm

Enabling certain interface controls based on the total file streamed is challenging. Coding an interface to play an mp3 file is easier than coding one where the mp3 isn't fully downloaded yet.

Are those the types of issues you were experiencing?

JesterXL, 8th Feb, 10:44pm

The main snag I found was that streaming audio starts playing from the beginning automatically; is there a reliable way to get it to wait, or play from a certain point? I ended up repeatedly stopping it, then allowing playing from the start marker when enough had downloaded, but the stopping and starting ended up with Flash refusing to talk to the server (unused connections lying around perhaps?)

The interface controls aspect is OK to code, but trickier in terms of usability as the player would have to be so restrictive while sound is downloading.

Matt Round, 9th Feb, 7:07am

Comments are now closed for this entry.