swanrnd
@swanrnd
Издатель HTML5 игр

Аудиочат ASP.NET

Такая задача. Есть игра с чатом, написана на HTML+JS и парочка вставок на флеше. В игре много комнат, и я задумался что бы сделать аудио чат. На сервере крутится Windows 2008 RS2.
Идея такая: человек нажимает на кнопку и говорит в микрофон, остальные в комнате его слышат.

Насчет реализации я смутно представляю:
1) В HTML код вложена флешка. которая связана с JS.
2) JS определяет нажата ли кнопка, если да, то флешка записывает и отправляет на сервер.
3) Сервер обрабатывает и все игроки слушают.

Возникли такие вопросы:
1) Есть ли какие-нибудь наработки или продукты. Готов заплатить.
2) HTML не сможет записывать звук, но может его воспроизводить через ?
3) Какая примерно будет нагрузка на сервер?

Буду признателен за ответы на эти вопросы.
  • Вопрос задан
  • 4936 просмотров
Решения вопроса 1
NetBUG
@NetBUG
А TeamSpeak сбоку поставить не вариант? Или Вы хотите именно привязку к игровым комнатам?
Каков срок жизни сообщений должен быть?
Игру Вы писали, или кто-то другой? (вопрос к чему — если Вы можете реализовать хранение текстового сообщения и вопрос только в работе со звуком, то всё просто; если нет — то увы).

Я вижу два варианта.
«онлайновый с редкой трансляцией» — на сервере заводится радио (shoutcast, например), каждой комнате присваивается отдельный канал, радио играется в плеере, отдельном фрейме, где угодно. При смене комнаты игра меняет канал. Недостаток — для трансляции игроку нужно сделать не совсем тривиальные действия.
Нагрузка — битрейт канала * число игроков. На процессор нагрузка небольшая, если сервер радио не перекодирует поток.

Второй — хранение «сообщений». Игрок использует флэшку, она сохраняет файл в помойке с уникальным названием, в комнате остаётся ссылка. По истечении n времени файл и ссылка удаляются.
Для записи есть простенькие jQuery-плагины — www.sajithmr.me/jrecorder-jquery — требуется небольшой скрипт на сервере для сохранения файла.
Модифицировать игрушку, естественно, Вам ;)
Сервер ничего не перекодирует, нагрузка исключительно на канал в объёме скачивания файлов.

Удачи!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы