wp_read_audio_metadata

The timeline below displays how wordpress function wp_read_audio_metadata has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Retrieves metadata from an audio file's ID3 tags.
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|false Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    // Required to get the `created_timestamp` value.
    $id3->options_audiovideo_quicktime_ReturnAtomData = true;
    // phpcs:ignore WordPress.NamingConventions.ValidVariableName
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    if (empty($metadata['created_timestamp'])) {
        $created_timestamp = wp_get_media_creation_timestamp($data);
        if (false !== $created_timestamp) {
            $metadata['created_timestamp'] = $created_timestamp;
        }
    }
    wp_add_id3_tag_data($metadata, $data);
    $file_format = isset($metadata['fileformat']) ? $metadata['fileformat'] : null;
    /**
     * Filters the array of metadata retrieved from an audio file.
     *
     * In core, usually this selection is what is stored.
     * More complete data can be parsed from the `$data` parameter.
     *
     * @since 6.1.0
     *
     * @param array       $metadata    Filtered audio metadata.
     * @param string      $file        Path to audio file.
     * @param string|null $file_format File format of audio, as analyzed by getID3.
     *                                 Null if unknown.
     * @param array       $data        Raw metadata from getID3.
     */
    return apply_filters('wp_read_audio_metadata', $metadata, $file, $file_format, $data);
}

WordPress Version: 5.9

/**
 * Retrieve metadata from an audio file's ID3 tags.
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|false Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    // Required to get the `created_timestamp` value.
    $id3->options_audiovideo_quicktime_ReturnAtomData = true;
    // phpcs:ignore WordPress.NamingConventions.ValidVariableName
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    if (empty($metadata['created_timestamp'])) {
        $created_timestamp = wp_get_media_creation_timestamp($data);
        if (false !== $created_timestamp) {
            $metadata['created_timestamp'] = $created_timestamp;
        }
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 5.7

/**
 * Retrieve metadata from an audio file's ID3 tags.
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|false Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    if (empty($metadata['created_timestamp'])) {
        $created_timestamp = wp_get_media_creation_timestamp($data);
        if (false !== $created_timestamp) {
            $metadata['created_timestamp'] = $created_timestamp;
        }
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 5.1

/**
 * Retrieve metadata from an audio file's ID3 tags.
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    if (empty($metadata['created_timestamp'])) {
        $created_timestamp = wp_get_media_creation_timestamp($data);
        if (false !== $created_timestamp) {
            $metadata['created_timestamp'] = $created_timestamp;
        }
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 4.8

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 7.3

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 6.5

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 6.4

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 5.8

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 5.7

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 4.9

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 4.8

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 4.4

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!defined('GETID3_TEMP_DIR')) {
        define('GETID3_TEMP_DIR', get_temp_dir());
    }
    if (!class_exists('getID3', false)) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: 3.9

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 4.3

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|bool Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .14

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .13

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: .17

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .16

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 4.1

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) round($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .17

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .16

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 8.2

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .19

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 7.2

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}

WordPress Version: .19

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    $metadata = wp_kses_post_deep($metadata);
    return $metadata;
}

WordPress Version: 3.7

/**
 * Retrieve metadata from a audio file's ID3 tags
 *
 * @since 3.6.0
 *
 * @param string $file Path to file.
 * @return array|boolean Returns array of metadata, if found.
 */
function wp_read_audio_metadata($file)
{
    if (!file_exists($file)) {
        return false;
    }
    $metadata = array();
    if (!class_exists('getID3')) {
        require ABSPATH . WPINC . '/ID3/getid3.php';
    }
    $id3 = new getID3();
    $data = $id3->analyze($file);
    if (!empty($data['audio'])) {
        unset($data['audio']['streams']);
        $metadata = $data['audio'];
    }
    if (!empty($data['fileformat'])) {
        $metadata['fileformat'] = $data['fileformat'];
    }
    if (!empty($data['filesize'])) {
        $metadata['filesize'] = (int) $data['filesize'];
    }
    if (!empty($data['mime_type'])) {
        $metadata['mime_type'] = $data['mime_type'];
    }
    if (!empty($data['playtime_seconds'])) {
        $metadata['length'] = (int) ceil($data['playtime_seconds']);
    }
    if (!empty($data['playtime_string'])) {
        $metadata['length_formatted'] = $data['playtime_string'];
    }
    wp_add_id3_tag_data($metadata, $data);
    return $metadata;
}