function func() {
var val = document.frm.filename.value;
var arr = val.split(".");
alert(arr[arr.length - 1]);
var arr1 = val.split("\\");
alert(arr1[arr1.length - 2]);
if (arr[1] == "gif" || arr[1] == "bmp" || arr[1] == "jpeg") {
alert("this is an image file ");
} else {
alert("this is not an image file");
}
}
Похоже, PyMedia делает это:
и некоторая дополнительная информация здесь о преобразовании в различные форматы при установке битрейта:
http : //pymedia.org/tut/recode_audio.html
например,
params= {
'id': acodec.getCodecId('mp3'),
'bitrate': r.bitrate,
'sample_rate': r.sample_rate,
'ext': 'mp3',
'channels': r.channels }
enc= acodec.Encoder( params )
Я использую привязки Python для gstreamer. Начать работу немного сложно, но как только вы начнете действовать, почти все возможно.
Из командной строки (из документации gstreamer ):
gst-launch -v filesrc location=music.wav ! decodebin ! audioconvert ! audioresample ! lame bitrate=192 ! id3v2mux ! filesink location=music.mp3
Входные filesrc location = ...
может быть все, что может воспроизводить gstreamer, а не только .wav. Вы можете добавить что-то, называемое фильтром caps, чтобы изменить частоту дискретизации до определенной скорости перед кодированием.
В вашей программе Python вы должны использовать gst.parse_launch (...)
, получить элементы filesrc и filesink, и вызывают сеттеры для изменения имен файлов ввода и вывода.
Кроме того, Python Audio Tools должны выполнять эту работу с меньшей потребностью в других библиотеках, что может быть проще, если вы делаете это в общей сети. учетная запись хостинга. (Но, по общему признанию, я не пробовал, поэтому не могу подтвердить, насколько это удобно.)
Другой способ избежать установки модулей Python для этой простой задачи - просто выполнить команду «lame» или другой кодировщик командной строки из сценария Python (с модулем popen).
Вы можете использовать модуль ctypes для вызова функций непосредственно из динамических библиотек. Он не требует установки внешних библиотек Python и имеет лучшую производительность, чем инструменты командной строки, но обычно его труднее реализовать (плюс, конечно, вам необходимо предоставить внешнюю библиотеку).