Функция wp_read_audio_metadata()
предназначена для извлечения метаданных из аудиофайлов, включая данные ID3-тегов. Эта функция позволяет разработчикам получать важную информацию о аудиофайлах, такую как продолжительность, исполнителя, альбом и другие атрибуты.
wp_read_audio_metadata( string $file ): array|false
Параметры:
$file
(string) — обязательный параметр, который представляет собой путь к аудиофайлу на сервере.
Возвращаемое значение:
- array|false — Возвращает массив метаданных аудиофайла, если данные были успешно извлечены, или
false
, если возникла ошибка.
Как это работает
Функция читает метаданные из аудиофайлов, используя их ID3-теги, которые содержат информацию о формате, каналах, битрейте, размере, MIME-типа, продолжительности, исполнителе, альбоме и других параметрах. Важно помнить, что функция доступна только в админке WordPress, поэтому, если вам нужно использовать её на фронтенде, необходимо предварительно подключить соответствующий файл.
Пример 1: Получение продолжительности аудиофайла
В этом примере мы получим продолжительность аудиофайла в секундах. Сначала проверим, находимся ли мы в админке, и затем извлечем метаданные.
// Проверяем, находимся ли мы в админке
if ( ! is_admin() ) {
require_once ABSPATH . 'wp-admin/includes/media.php'; // Подключаем медиа библиотеку
}
$file_path = wp_get_upload_dir()['basedir'] . '/2023/05/sample-audio.mp3'; // Путь к файлу
$metadata = wp_read_audio_metadata( $file_path );
if ( $metadata ) {
echo 'Аудио длится ' . $metadata['length'] . ' секунд.'; // Выводим продолжительность
} else {
echo 'Не удалось получить метаданные аудиофайла.';
}
Пример 2: Извлечение всех метаданных аудиофайла
Здесь мы получим все доступные метаданные аудиофайла и выведем их на экран.
// Проверяем, находимся ли мы в админке
if ( ! is_admin() ) {
require_once ABSPATH . 'wp-admin/includes/media.php'; // Подключаем медиа библиотеку
}
$file_path = wp_get_upload_dir()['basedir'] . '/2023/05/sample-audio.mp3'; // Путь к файлу
$metadata = wp_read_audio_metadata( $file_path );
if ( $metadata ) {
print_r( $metadata ); // Выводим все метаданные
} else {
echo 'Не удалось получить метаданные аудиофайла.';
}
Пример 3: Проверка на наличие определенного значения
В этом примере мы проверим, доступен ли определенный параметр, такой как artist
, в метаданных аудиофайла.
// Проверяем, находимся ли мы в админке
if ( ! is_admin() ) {
require_once ABSPATH . 'wp-admin/includes/media.php'; // Подключаем медиа библиотеку
}
$file_path = wp_get_upload_dir()['basedir'] . '/2023/05/sample-audio.mp3'; // Путь к файлу
$metadata = wp_read_audio_metadata( $file_path );
if ( $metadata ) {
if ( isset( $metadata['artist'] ) ) {
echo 'Исполнитель: ' . $metadata['artist']; // Выводим имя исполнителя
} else {
echo 'Информация о исполнителе недоступна.';
}
} else {
echo 'Не удалось получить метаданные аудиофайла.';
}
Заключение
Функция wp_read_audio_metadata()
является полезным инструментом для извлечения метаданных аудиофайлов в WordPress. С помощью этой функции разработчики могут легко получать информацию о своих медиафайлах и использовать её для различных целей, таких как отображение информации о треке или анализ данных.