#php #database #variables #microphone
#php #База данных #переменные #микрофон
Вопрос:
Я пытаюсь получить значение переменной div (height), чтобы поместить его в таблицу базы данных в режиме реального времени (мне это абсолютно необходимо). Значение высоты реагирует с микрофоном устройства. Я бы кричал в микрофон компьютера и видел результат на другом компьютере. Есть ли простой способ сделать это?
Спасибо.
РЕДАКТИРОВАТЬ: На самом деле я возвращаю информацию о звуке с помощью jRecorder (sajithmr.me/jrecorder-jquery ). Высота div эквивалентна амплитуде крика. Я бы поместил значение этой высоты в простую таблицу.
Комментарии:
1. Да? Как мы перешли от разговоров о высотах разделения к крикам в микрофон? Какое отношение эти два имеют друг к другу вообще?
2. Вы могли бы использовать ajax и публиковать новую высоту на другой странице, которая сохраняет ее в базе данных всякий раз, когда ваш div изменяет размер.
3. Представляет ли div частотный срез для измерения амплитуды или что-то в этом роде?
4. @Bastien: пожалуйста, предоставьте больше полезной информации по вашему вопросу. По крайней мере, образец HTML-кода.
Ответ №1:
Вам нужно будет добавить туда немного JavaScript. Я буду использовать jQuery в своих примерах.
Чтобы получить высоту div, вы можете использовать getClientRects
.
var height = $("#yourdiv")[0].getClientRects()[0].height; //For IE, substract the bottom property from the top property
Чтобы отправить его на сервер, вы можете использовать AJAX
$.post("yourpage.php", {height: height});
Затем на странице PHP вашего сервера вы можете извлечь значение и сохранить его в базе данных:
$height = $_POST['height'];
Теперь у вас есть значение в вашей базе данных. Чтобы другой клиент мог это увидеть, вам нужно создать страницу, на которой отображается последнее значение, и опрашивать эту страницу с помощью AJAX с заданным интервалом, чтобы получить значение и обновить свой div
.
Простого способа сделать это нет. Это самое простое, что я мог придумать. Для этого все еще требуется хорошее знание JavaScript и AJAX. Если у вас есть какие-либо вопросы, оставьте комментарий.
Комментарии:
1. У меня всегда проблема с кодом, скриптом: <script> функция ajaxFunction(){ var height = $(«#levelbar»)[0].getClientRects()[0].height; $.post(«acceptfile.php «, {height: высота}); } </script> php: <?php $dbhost = «localhost»; $dbuser = «root»; $dbpass = «root»; $dbname = «cheer»; mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname) или die(mysql_error()); $height = $ _POST[‘height’]; $height = mysql_real_escape_string($height); $query = «ВЫБРАТЬ * С уровня, ГДЕ height = ‘$height'»; mysql_query($query) или die(mysql_error()); ?> Вы знаете, где моя ошибка?
2. @Бастьен, мне жаль. Если у вас возникла конкретная проблема, вам было бы лучше опубликовать ее в другом вопросе с кодом и тем, что он должен делать, и все такое.
Ответ №2:
PHP ничего не может сделать с вашим устройством (микрофоном), поскольку это программное обеспечение на стороне сервера, а не на стороне клиента
Однако я не понял вашу первую часть вопроса.
Ответ №3:
Используя плагин jRecorder, вы можете использовать функцию обратного вызова для определения уровня активности микрофона.
callback_activityLevel : Обратный вызов для возврата текущего уровня микрофонного входа (0-100)
Вы можете ознакомиться с примером по адресу: http://www.sajithmr.me/jrecorder/example1.html