Вставка аудио и видео файлов


В некоторых случаях необходимо разместить не только картинку или анимацию gif на сайте, но и отобразить полноценное видео со звуком. Стандарт HTML позволяет загружать и отображать на сайте файлы в формате Microsoft Video for Windows (файлы с расширением *.AVI). А также загружать и воспроизводить звуковые файлы с расширением WAV.

Эта функция может быть очень полезна например на сайте знакомств, где можно не только показать фотографию человека, но и сопроводить анкету видео файлом.

Следует однако заметить, что файлы AVI имеют очень большой объем и к их использованию следует подходить обдумано. Один ролик длительностью в несколько минут может съесть все место, отведенное для вашего сайта хостинг-провайдером. Кроме того, не все пользователи имеют скоростной (или недорогой) Интернет, поэтому также стоит подумать о них.

Итак для начала создадим форму для загрузки файла на наш сервер.

<form name=form method=post ENCTYPE="multipart/form-data" action="addmedia.php">
Видео файл: <input type=file name=file1 size=30>

Аудио файл: <input type=file name=file2 size=30>

<input type=submit value="Загрузить" name="upload">
</form>

Эта форма позволяет загрузить нам сразу два файла: первый видео, второй аудио. При нажатии на кнопку "Загрузить" будет вызван файл addmedia.php, который загрузит наши файлы на сервер. Вот его код (здесь и далее комментарии к скрипту отмечены символом //):

<?php
if ($file1 != "") {
$file1 = $HTTP_POST_FILES['file1']['name'];
// извлекаем имя загружаемого файла

$filesize1 = $HTTP_POST_FILES['file1']['size'];
// считываем размер его файла

$temp1 = $HTTP_POST_FILES['file1']['tmp_name'];
// определяем место для загрузки временного файла (необходимо для работы сервера)

if ($file1 != "" and !eregi("\.avi$",$fileres1)){$error .= "Видео-файл должен иметь расширение *.avi";}
// Проверяем расширение нашего видео-файла и если оно не *.avi, то указываем на ошибку.

if ($filesize1 > 1000000){$error .= "Файл должен иметь размер не более 1 Мб";}
// Ограничиваем размер нашего файла. В данном случае максимум 1 мегабайт.

}
if ($file2 != "") {
$file2 = $HTTP_POST_FILES['file2']['name'];
$filesize2 = $HTTP_POST_FILES['file2']['size'];
$temp2 = $HTTP_POST_FILES['file2']['tmp_name'];
$fileres2=strtolower(basename($file2));
if ($file2 != "" and !eregi("\.wav$",$fileres2)){$error .= "Аудио-файл должен иметь расширение *.wav";}
// Проверяем расширение нашего аудио-файла и если оно не *.wav, то указываем на ошибку.

if ($filesize2 > 1000000){$error .= "Файлы должны иметь размер не более 1 Мб";}
// Вновь ограничиваем размер нашего файла 1 мегабайтом.

}
echo "<center><font color=red>$error</font></center>";
// Выводим сообщение об ошибке.

if ($error == "") {
// Если ошибок нет, то выполняем загрузку файлов

$updir="/home/www/public_html/media/";
// Указываем путь к папке на сервере, в которую скрипт загрузит файлы. Папка до момента запуска этого скрипта должна уже быть создана на сервере и иметь права доступа 777 (чтение-запись-исполнение для всех).

$dest1 = $updir.$file1;
$dest2 = $updir.$file2;
if ($file1 != "") {copy("$temp1","$dest1");}
if ($file2 != "") {copy("$temp2","$dest2");}
// копируем выбранные файлы в указанное на сервере место

}

Если все сделано как описано выше, то файлы должны появиться в папке media на сервере. Теперь создадим html-файл, который покажет загруженные видео и аудио пользователю, зашедшему на сайт.

Видео-файл

<EMBED SRC="media/video.avi" START="FILEOPEN" AUTOSTART=false>
<NOEMBED>Воспроизведение не поддерживается вашим броузером</NOEMBED>

Аудио-файл

<EMBED SRC="media/audio.wav" HIDDEN=false AUTOSTART=false>
<NOEMBED>Воспроизведение не поддерживается вашим броузером</NOEMBED>

Вот и все. Теперь при заходе на страницу, в которую будет вставлен вышеуказанный фрагмент пользователь увидит два стандартных окна проигрывателя Windows Media, включенные прямо в html-страниц и кнопочки для воспроизведения.

Однако опишем последний фрагмент чуть подробнее.

Оператор <EMBED> предназначен для вставки произвольных объектов OLE. Технология OLE работает только в среде операционной системы Microsoft Windows.

SRC - путь к медиа-файлу.

STATRT - Параметр определяет момент, когда нужно начинать проигрывание видеофрагмента. Если этот параметр имеет значение FILEOPEN, проигрывание начинается сразу, как только файл будет загружен. Если же значение параметра равно MOUSEMOVE, проигрывание начнется после того, как пользователь поместит курсор на окно, предназначенное для проигрывания видеофрагмента

AUTOSTART - автоматическое воспроизведение файла. Если параметр имеет значение "false", то необходимо нажать на кнопку воспроизведения, чтобы запустить видео/аудио файл.

HIDDEN - если значение "true", то проигрыватель будет невиден на странице.

Удачи в программировании!

©Невежин Евгений
http://nevius.ru
09.05.2007

При перепечатке информации ссылка на сайт http://nevius.ru обязательна.