duanjiao8871 2017-04-11 04:34
浏览 71
已采纳

使用wp_read_audio_metadata()

I am trying to get some metadata from an mp3 file in WordPress. Specifically the length variable. Here is a bit of my code. It's not shown here but I have included the wp-admin/includes/media.php file. When I look at my page http://beta.openskyministry.org/podcasts/ I just see empty tags for <itunes:length></itunes:length>

Let me know If you need anything else to help answer my question.

$aud_meta = wp_read_audio_metadata($aud_url); ?>

    <item>


        <title><?php the_title(); ?></title>

        <itunes:author><?php echo htmlspecialchars((get_bloginfo('name'))); ?></itunes:author>

        <itunes:summary><?php echo  htmlspecialchars(strip_tags(get_the_excerpt())); ?></itunes:summary> 

        <itunes:length><?php echo $aud_meta['length_formatted']; ?></itunes:length>
  • 写回答

1条回答 默认 最新

  • douchao5864 2017-05-13 20:19
    关注

    WordPress already stores media metadata, so there's no need to go over it. Solution is as simple as:

    add_action( 'wp_head', function(){
        global $post;
        if ( is_single($post) ) {
            $args = array( 
                'post_type'     => 'attachment',
                'numberposts'   => 1,
                'post_parent'   => $post->ID,
                'post_mime_type' => 'audio'
            );  
            $attachments = get_posts( $args );
            if($attachments){
                $meta = wp_get_attachment_metadata( $attachments[0]->ID );
                echo "<itunes:length>{$meta['length_formatted']}</itunes:length>";
            }           
        }
    });
    

    For the records, wp_read_audio_metadata() expects the file path, not the URL. If needed, it should be:

    $path = get_attached_file( $attachment->ID );
    $meta = wp_read_audio_metadata($path);
    echo "<itunes:length>{$meta['length_formatted']}</itunes:length>";
    

    Related: Save camera info as metadata on image upload?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染