Thanks Massimo, this is working! What I am not able to get is the time-slider to work in the audio element. I guess that since I am streaming the audio file, the browser has no way of knowing the size.
Is there a way to solve this problem? Is it possible to send the size of the audio file in the response headers? I am dealing with mp3 files mainly. I am not sure if it is possible to know beforehand (without reading/decoding the full mp3 file) the length of the audio track. I would say that the mp3 format (and other audio formats) must have some metadata at the beginning of the file specifying things like duration, volume, ... but I am not familiar with these details. And as a more general problem: is it possible at all to randomly access a streaming audio file? I would say that this is not possible. Any ideas / workarounds to get the slider working? Thanks, Daniel On Thursday, August 9, 2012 3:29:25 PM UTC+2, Massimo Di Pierro wrote: > > <audio > src="{{=URL('getme',args='track06.mp3<http://www.myserver.com/.../track06.mp3> > ')}}" preload="auto"></audio> > > def getme(): > import urllib > response.headers['Content-Type'] = 'audio/mp3' > filename = '....'+request.args(0) # fix this! > return response.stream(urllib.urlopen(filename)) > > > On Thursday, 9 August 2012 03:54:43 UTC-5, Daniel Gonzalez wrote: >> >> Hello, >> >> I have some sound files in a couchdb database (not related to web2py). My >> web2py application has access to this database, and I want to stream the >> sound files so that they can be listened with the HTML audio tag, like this: >> >> <audio src="http://www.myserver.com/.../track06.mp3" preload="auto" >> ></audio> >> >> I am planning to do this streaming as follows: >> >> response.stream(open(filename),chunk_size=4096) >> >> But I have some open questions: >> >> 1. My "filename" is not in the local filesystem, but in a couchdb >> database, accessible via REST. How can I "open" that? >> 2. What kind of request will the audio tag send when it is activated, >> GET/POST/...? Can this be handled with web2py? >> >> Thanks, >> Daniel >> > --