wp_read_audio_metadata() – Retrieve metadata from an audio file’s ID3 tags.

You appear to be a bot. Output may be restricted

Description

Retrieves metadata from an audio file's ID3 tags.

Usage

$array|false = wp_read_audio_metadata( $file );

Parameters

$file
( string ) required – Path to file.

Returns

array|false Returns array of metadata, if found.

Source

File name: wordpress/wp-admin/includes/media.php
Lines:

1 to 58 of 58
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;
}
 

 View on GitHub View on Trac