Добро пожаловать, Гость!
:: + Добавить ссылку через биллинг
:: + Добавить ссылку анонимно
❤️МИР, ЯРКИХ ЗНАКОМСТВ И ОБЩЕНИЯ!❤️
❤️МИР, ЯРКИХ ЗНАКОМСТВ И ОБЩЕНИЯ!❤️
Разработка модуля говарилки! - Страница 0
Свободное общение | Разработка модуля говарилки!
-MiSHuTkA- :
Внедрить в DCMS модуль говарилку нада!
Есть такой пример рабочий!
Ссылка
Модуль взят с github.com называется
RecordRTC !
Кто сталкивался с такими модулями подобными?Что посоветуете?
Разработка модуля говарилки!
8 Июня 2021Внедрить в DCMS модуль говарилку нада!
Есть такой пример рабочий!
Ссылка
Модуль взят с github.com называется
RecordRTC !
Кто сталкивался с такими модулями подобными?Что посоветуете?
Комментарии:
DoR 19 Июня 2021
-MiSHuTkA-, Здравствуйте! Нижайшие за долгий ответ...
--- Времени нет, и пока не предвидится.
Приблизительно понял вашу идею. Решений на пиачпи море.
--- Юзаем родительский класс php:
foreach (new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('audio/', FilesystemIterator::SKIP_DOTS | FilesystemIterator::KEY_AS_FILENAME)
) as $value):
if ($value->isFile() AND in_array($value->getExtension(), ['mp3', 'ogg'])):
$output[] = [
"time" => date("Y-m-d" . " " . "g:i:s", $value->getMTime()),
"files" => $value->getFileName(),
"ras" => $value->getExtension()
];
endif;
endforeach;
usort( // --- Сортировка тут
$output,
function ($a, $b) {
return $a['time'] < $b['time'];
}
);
for ($i = 0; $i < count($output); $i++):
print $output[$i]['files'] . ' ( ' . $output[$i]['time'] . ' )';
endfor;
--- Сортировка файлов по дате и выборка с нужным расширением.
Добавить: пагинацию/админку/оформление/ и "что-то" получиться.
Сортировка в usort...))
P.S Возможно защита порежет код, написал пример - распаковываем в корень.
*Пример много весит потому что в нём два аудио файла.
example (423.91Kb)
-MiSHuTkA-, Здравствуйте! Нижайшие за долгий ответ...
--- Времени нет, и пока не предвидится.
Приблизительно понял вашу идею. Решений на пиачпи море.
--- Юзаем родительский класс php:
foreach (new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('audio/', FilesystemIterator::SKIP_DOTS | FilesystemIterator::KEY_AS_FILENAME)
) as $value):
if ($value->isFile() AND in_array($value->getExtension(), ['mp3', 'ogg'])):
$output[] = [
"time" => date("Y-m-d" . " " . "g:i:s", $value->getMTime()),
"files" => $value->getFileName(),
"ras" => $value->getExtension()
];
endif;
endforeach;
usort( // --- Сортировка тут
$output,
function ($a, $b) {
return $a['time'] < $b['time'];
}
);
for ($i = 0; $i < count($output); $i++):
print $output[$i]['files'] . ' ( ' . $output[$i]['time'] . ' )';
endfor;
--- Сортировка файлов по дате и выборка с нужным расширением.
Добавить: пагинацию/админку/оформление/ и "что-то" получиться.
Сортировка в usort...))
P.S Возможно защита порежет код, написал пример - распаковываем в корень.
*Пример много весит потому что в нём два аудио файла.
-MiSHuTkA- 16 Июня 2021
Автор темы
DoR, Здарова! Не подскажиш как вывести сортировку файлов по времени с папки чтоб ссыль потом копировать -да автоматом и можно чтоб наговарил и она попала в список последних - примерно так
<?php
$dir = "uploads"; // Директория с mp3-файлами
$files = glob("$dir/*.ogg*"); // Получаем список mp3-файлов
for ($i = 0; $i < count($files); $i++) {
echo "<p><input name='' value='<audio>uploads/".basename($files[$i])."</audio>' size='43'></p>"; // Выводим название файла
echo "<audio controls='controls'>"; // Выводим тег аудио с панелью управления
echo "<source type='audio/mpeg' src='".$files[$i]."' />"; // Подключаем путь к аудио-файлу
echo "</audio>"; // Закрываем тег
echo "<hr><br>"; // Переходим на 2 перехода на новую строку
}
$files = glob("$dir/*.wav*"); // Получаем список mp3-файлов
for ($i = 0; $i < count($files); $i++) {
echo "<p><input name='' value='<audio>uploads/".basename($files[$i])."</audio>' size='43'></p>"; // Выводим название файла
echo "<audio controls='controls'>"; // Выводим тег аудио с панелью управления
echo "<source type='audio/mpeg' src='".$files[$i]."' />"; // Подключаем путь к аудио-файлу
echo "</audio>"; // Закрываем тег
echo "<hr><br>"; // Переходим на 2 перехода на новую строку
}
echo "</div>n";
?>
Наверное база нужна!!
______________________
-MiSHuTkA-
Автор темы
DoR, Здарова! Не подскажиш как вывести сортировку файлов по времени с папки чтоб ссыль потом копировать -да автоматом и можно чтоб наговарил и она попала в список последних - примерно так
<?php
$dir = "uploads"; // Директория с mp3-файлами
$files = glob("$dir/*.ogg*"); // Получаем список mp3-файлов
for ($i = 0; $i < count($files); $i++) {
echo "<p><input name='' value='<audio>uploads/".basename($files[$i])."</audio>' size='43'></p>"; // Выводим название файла
echo "<audio controls='controls'>"; // Выводим тег аудио с панелью управления
echo "<source type='audio/mpeg' src='".$files[$i]."' />"; // Подключаем путь к аудио-файлу
echo "</audio>"; // Закрываем тег
echo "<hr><br>"; // Переходим на 2 перехода на новую строку
}
$files = glob("$dir/*.wav*"); // Получаем список mp3-файлов
for ($i = 0; $i < count($files); $i++) {
echo "<p><input name='' value='<audio>uploads/".basename($files[$i])."</audio>' size='43'></p>"; // Выводим название файла
echo "<audio controls='controls'>"; // Выводим тег аудио с панелью управления
echo "<source type='audio/mpeg' src='".$files[$i]."' />"; // Подключаем путь к аудио-файлу
echo "</audio>"; // Закрываем тег
echo "<hr><br>"; // Переходим на 2 перехода на новую строку
}
echo "</div>n";
?>
Наверное база нужна!!
______________________
-MiSHuTkA-
-MiSHuTkA- 11 Июня 2021
Автор темы
DoR, Здарова! Спасибо тебе что сотрудничаеш я занимаюсь этим есть время седня свободное потрачу целый день буду пробывать! И еще достал разное интересное -поделюсь попробую и поставлю скоро open_server_ то у меня Denwer он не все может то что хочется -кстати сайт для теста сделал на Миханзе движке стареньком Ссылка там буду опыты проводить ну и DCMS поставлю позже хочу DCMS улучшать да и не собираюсь барыжить скриптами както ненуждаюсь в деньгах мне просто интересно само програмирование
Тут еще немогу найти переменную чтоб ссылку получить на адрес в BB код ищу ее и сделать чтоб она автоматом в окно копировалась после нажатия на кнопку сохранить типа
______________________
-MiSHuTkA-
Автор темы
DoR, Здарова! Спасибо тебе что сотрудничаеш я занимаюсь этим есть время седня свободное потрачу целый день буду пробывать! И еще достал разное интересное -поделюсь попробую и поставлю скоро open_server_ то у меня Denwer он не все может то что хочется -кстати сайт для теста сделал на Миханзе движке стареньком Ссылка там буду опыты проводить ну и DCMS поставлю позже хочу DCMS улучшать да и не собираюсь барыжить скриптами както ненуждаюсь в деньгах мне просто интересно само програмирование
Тут еще немогу найти переменную чтоб ссылку получить на адрес в BB код ищу ее и сделать чтоб она автоматом в окно копировалась после нажатия на кнопку сохранить типа
______________________
-MiSHuTkA-
DoR 9 Июня 2021
-MiSHuTkA-, Мы можем посоветовать исходя из вашего желания.
--- Что бы я посоветовал?
--- Использовать принцип бритвы Оккама.
То есть, отсечь всё лишнее оставив суть. В вашем случае упростить/урезать код.
*Начинать необходимо с простого:
navigator.mediaDevices.getUserMedia ( { audio: true } )
.then ( stream => {
recorder = RecordRTC ( stream, { type: 'audio' } );
recorder.startRecording ( );
recorder.stopRecording ( ( ) => {
let blob = recorder.getBlob ( );
});
});
--- Вот собственно и всё, на переменной blob весит результат.
( в архиве всё прокомментировано простым языком )
Смотрите насколько код меньше вашего, но имеет почти такой же функционал.
--- При нажатии на кнопку Старт, начинает записывать голос.
Кнопка Стоп, отдаёт запись браузеру....))
P.S Советую тестить с ПК и заглянуть в консоль
( в архиве код прокоман простым языком )
Качаем...
example (1005B)
-MiSHuTkA-, Мы можем посоветовать исходя из вашего желания.
--- Что бы я посоветовал?
--- Использовать принцип бритвы Оккама.
То есть, отсечь всё лишнее оставив суть. В вашем случае упростить/урезать код.
*Начинать необходимо с простого:
navigator.mediaDevices.getUserMedia ( { audio: true } )
.then ( stream => {
recorder = RecordRTC ( stream, { type: 'audio' } );
recorder.startRecording ( );
recorder.stopRecording ( ( ) => {
let blob = recorder.getBlob ( );
});
});
--- Вот собственно и всё, на переменной blob весит результат.
( в архиве всё прокомментировано простым языком )
Смотрите насколько код меньше вашего, но имеет почти такой же функционал.
--- При нажатии на кнопку Старт, начинает записывать голос.
Кнопка Стоп, отдаёт запись браузеру....))
P.S Советую тестить с ПК и заглянуть в консоль
( в архиве код прокоман простым языком )
Качаем...
-MiSHuTkA- 9 Июня 2021
Автор темы
Скрин
______________________
-MiSHuTkA-
Скрин-2 (15.5Kb)
Автор темы
Скрин
______________________
-MiSHuTkA-
-MiSHuTkA- 8 Июня 2021
Автор темы
Это я модуль поставил там для теста и примера -вывод голосовых сообщений сам сделал -позже дату и время сделаю но нада базу данных придумать тогда!
______________________
-MiSHuTkA-
Автор темы
Это я модуль поставил там для теста и примера -вывод голосовых сообщений сам сделал -позже дату и время сделаю но нада базу данных придумать тогда!
______________________
-MiSHuTkA-