Ищу не работает в аудио теге HTML5 - PullRequest
2 голосов
/ 20 мая 2010

У меня сервер lighttpd работает локально. Если я загружаю статический файл на сервер (через аудиотег html5), он воспроизводится и выглядит нормально.

Однако поиск не работает при запуске сервера dev (web.py/CherryPy) или если я возвращаю байты через определенный URL-адрес действия, а не как статический файл. Он также не загружает продолжительность.

В соответствии с разделом «Запросы диапазона байтов HTTP» в на этой странице Opera это связано с поддержкой запросов диапазона байтов / частичных ответов содержимого. Вместо этого контент обрабатывается как потоковый.

Что я не понимаю, так это:

  • Если в браузер загружен весь файл, он точно отображает продолжительность и, конечно, может искать.
  • Что мне нужно сделать на веб-сервере, чтобы включить запросы диапазона байтов (для нестатических URL).

Любой совет будет принят с благодарностью.

Ответы [ 2 ]

1 голос
/ 07 сентября 2010

Вот некоторый код web.py, с которого можно начать (просто это тоже понадобилось, и вы столкнулись с вопросом):

## experimental partial content support
## perhaps this shouldn't be enabled by default
range = web.ctx.env.get('HTTP_RANGE')
if range is None:
    return result

total = len(result)
_, r = range.split("=")
partial_start, partial_end = r.split("-")

start = int(partial_start)

if not partial_end:
    end = total-1
else:
    end = int(partial_end)

chunksize = (end-start)+1

web.ctx.status = "206 Partial Content"
web.header("Content-Range", "bytes %d-%d/%d" % (start, end, total))
web.header("Accept-Ranges", "bytes")
web.header("Content-Length", chunksize)
return result[start:end+1] 
0 голосов
/ 20 мая 2010

Google говорит мне, что вы должны использовать staticFilter для диапазонов байтов для работы в CherryPy - но это только для статических файлов. К счастью эта публикация также включает в себя указатели, как это сделать для нестатических данных: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...