23.09.2021

Voice модуль на dcms-social 1.9.9


Voice модуль на dcms-social 1.9.9

Voice модуль на dcms-social 1.9.9. Аудио/Видео сообщения для dcms-social. Тестировался с ПК и ноутбука, по идее должен работать и на телефоне. Требования php-5.6 Браузер поддержка — MediaRecorder(), AudioContext() Возможность — Отправлять как видео так и голосовые сообщения. Зачем это? Например вы за рулём. Набирать не удобно а ответить необходимо.

На фронтанде: отсчёт времени записи, индикатор уровня записи. В качестве ответов не только — Успешно но и ошибки. Например:
Ошибка: Permission denied ( пользователь запретил доступ к камере и микрофону )
Ошибка выгрузки файла ( отправлен запрос с нулл байтом либо иная попытка обойти проверку )
Ошибка контакта ( смс: самому себе, или на не добавленный контакт )

Заморачиваться с плеерами не стал — лень и потерял интерес. Модуль «сыроват» то есть как положено по тесту не гонял, поэтому возможно есть мелкие недочёты, разберётесь. Для Dcms-Social 1.9.9

Установка
1. Распаковать архив в папку user
2. В файле — /sys/fnc/bbcode.php
// — Прописать

$bbcode['/\[mp3](.+)\[\/mp3\]/isU']=' <audio controls><source src="$1" type="audio/ogg; codecs=vorbis"></audio>';
$bbcode['/\[mp4](.+)\[\/mp4\]/isU']=' <video controls poster="/user/voice/style/poster.gif"  width="300" height="100"><source src="$1" type="audio/ogg; codecs=vorbis"></video>';

В файле — mail.php
// — Под

echo $tPanel."<textarea name='msg'></textarea><br />\n";

Удалить строки:

echo "<input type='submit' name='send' value='Отправить' />\n";
echo "<input type='submit' name='refresh' value='Обновить' />";
// ---

И вместо них прописать

include 'user/voice/.htpanel.php';

Либо содержимое файла .htpanel.php прописать в mail.php вручную
Установка окончена…))

Если что то не понятно, примеры в папке voice/example
/*—-Немного лирики—-*/
*Важно! Следите за наличием файлов .htaccess в папке ogg — audio/video
Примечание. Скрипт работает только при наличии https ( порт 443 )
Возможность. Отправлять как видео так и голосовые сообщения.
А) Разрешить доступ к камере и микрофону
Б) Выбрать: видео или аудио
В) Нажать — записать
Г) Потом — остановить
Д) По истечению 30 секунд после начала записи, если пользователь не нажмёт остановить, то скрипт сам остановит и отправит запись.

Изменить продолжительность записи можно в файле — /voice/js/settings.js
Параметр константы export const timeEnd = 30000; указан в миллисекундах )
Е) С помощью localStorage скрипт запоминает предпочтения — audio/video То есть, если в предыдущий раз пользователь выбрал audio, то при новой записи будет подставлен именно этот параметр.

Ж) Сам скрипт имеет отсчёт времени записи, индикатор уровня записи, ну а вообщем простой как дверь. Заморачиваться со стилями и плеерами не стал, это не моё, и интерес к модулю у меня утерян… Это уж вы сами…
При первой загрузке скрипт будет проверять доступность «камеры\микрофона» а значит некоторое время «думать» — ( Обработка… ) после чего всё через .htaccess кешируется и ответы приходят как и должны.

P.S Не забудьте файл постера /user/voice/style/poster.gif изменить на свой (при желании можно подставлять аватарки. Делать этого не стал ибо всё минимизировал для ясности )


Скачать с mail облака

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *