Пишу web-приложение на ASP.NET, которое должно проигрывать по кругу несколько треков, как радио, т.е. каждый новый подключившийся клиент должен слышать не с первой песни и не сначала, а с определенного момента. Треки хранятся в LOB-ах в Oracle, проблем с извлечением не возникло. Есть aspx страничка, в которой есть тег и в качестве src указан файл ashx.
Ситуация в следующем: в этом обработчике есть цикл, который извлекает трек из БД и записывает его в MemoryStream, затем внутри есть еще цикл, который по кусочкам из MemoryStream считывает и пишет в context.Response.OutputStream.Write(buffer, offset, lengthRead) и выталкивает context.Response.Flush() Первый трек проходит идеально и играет на странице, но когда трек заканчивается и начинается новый шаг цикла, т.е. я поднимаюсь вверх, чтобы извлечь новый трек из БД, он извлекается, и даже пишется в context.Response.OutputStream.Write(buffer, offset, lengthRead); (смотрела дебагером), НО НЕ ИГРАЕТ!
Почему такое происходит? Или, может, вообще изменить схему? Предлагайте, пожалуйста, все, что придет на ум. Спасибо!
P.S. Насчет подключения клиентов и смещения пока не говорим, вопрос остается в том, как пустить по кругу несколько треков для трансляции на страничку (повторюсь, что с одним треком все проходит хорошо).
Эм. а зачем это надо то?
Вообще лучше уже найти и прикрутить готовый сервер - библиотеку, играющую музыку по какому-нить URL и этот url настраивать на свой страничке.
а вообще музыка на сайтах без просьбы пользователя - очень плохой тон, кроме варианта онлайн радио.
Но обычно все нормальные плеера умеют сами тянуть музыку из сети
Дело в том, что это задание преподавателя, это мой курсовой=( Я прекрасно знаю и понимаю, что есть уже готовые решения и библиотеки, намного удобнее и в целом ориентированные на пользователя. У меня же было четкое задание: музыка в LOB-ах в Oracle, извлечь ее, зациклить, а на страничке клиента должно играть со смещением. И все это самой сделать ручками. Вот придумываю как...