Конвертация записей в формат MP3
PreviousКастомизация имени файла аудиозаписиNextСклеивание названия транка и имени контакта для показа в карточке звонка
Last updated
$updateFilenameInCdr = false; // Заменить в CDR имя файла на mp3
$removeWavFile = false; // Удалить исходный wav-файл// mysqli_query(getDB(), "UPDATE `cdr` SET `recordingfile` = '{$newBasename}' WHERE `recordingfile` = '{$basename}'");
// удаляем файл с расширением .wav
// unlink($path);$callId = $params['call_id'];
$from = $params['from'];
$to = $params['to'];
$path = $params['path'];
//
// Пример конвертации записей разговоров в mp3
//
$updateFilenameInCdr = false; // Заменить в CDR имя файла на mp3
$removeWavFile = false; // Удалить исходный wav-файл
$recPathInfo = pathinfo($path);
$recBasename = $recPathInfo['basename'];
$recExtension = $recPathInfo['extension'];
if (strtolower($recExtension) == 'wav') {
$newPath = Utils::convertToMp3($path);
if ($newPath === false) {
return array(
'state' => 'error',
'data' => "Failed to convert recording file to mp3: '$path'",
);
}
$this->logInfo("Converted recording file: '$newPath'");
$newBasename = basename($newPath);
// Заменить в CDR имя файла на новое (wav на mp3)
if ($updateFilenameInCdr) {
$dbResult = Utils::mysqliQuery(
"UPDATE `cdr` SET `recordingfile` = '{$newBasename}'" .
" WHERE `recordingfile` = '{$recBasename}'");
if ($dbResult === false) {
return array(
'state' => 'error',
'data' => 'Ошибка при запросе в CDR',
);
}
$this->logInfo("Updated recording filename in CDR: '$newBasename'");
}
// Удалить исходный файл с расширением .wav
if ($removeWavFile) {
$rmSuccess = unlink($path);
if (! $rmSuccess) {
return array(
'state' => 'error',
'data' => "Не удалось удалить исходный wav-файл: '$path'",
);
}
$this->logInfo("Removed recording file: '$path'");
}
$path = $newPath;
}
return array(
'state' => 'success',
'data' => array(
'path' => $path,
),
);
yum install lame/*if (strtolower($recExtension) == 'wav') {
$newPath = Utils::convertToMp3($path);
if ($newPath === false) {
return array(
'state' => 'error',
'data' => "Failed to convert recording file to mp3: '$path'",
);
}
$this->logInfo("Converted recording file: '$newPath'");
$newBasename = basename($newPath);
// Заменить в CDR имя файла на новое (wav на mp3)
if ($updateFilenameInCdr) {
$dbResult = Utils::mysqliQuery(
"UPDATE `cdr` SET `recordingfile` = '{$newBasename}'" .
" WHERE `recordingfile` = '{$recBasename}'");
if ($dbResult === false) {
return array(
'state' => 'error',
'data' => 'Ошибка при запросе в CDR',
);
}
$this->logInfo("Updated recording filename in CDR: '$newBasename'");
}
// Удалить исходный файл с расширением .wav
if ($removeWavFile) {
$rmSuccess = unlink($path);
if (! $rmSuccess) {
return array(
'state' => 'error',
'data' => "Не удалось удалить исходный wav-файл: '$path'",
);
}
$this->logInfo("Removed recording file: '$path'");
}
$path = $newPath;
}
*/