【问题标题】:examining audio file alternative to spotlight检查音频文件替代聚光灯
【发布时间】:2012-06-02 23:05:42
【问题描述】:

我正在寻找一种有效的替代方法来获取 音频文件属性,以防聚光灯关闭。

Spotlight 的 MDItem 属性:kMDItemDurationSeconds, kMDItemAudioEncodingApplication, kMDItemAudioBitRate, kMDItemAudioSampleRate,kMDItemAudioChannelCount, kMDItemCodecs,是可能的。

但是QTKit 的movieAttributes(如果文件可以是QTMovie 类型)并不完整,只有QTMovieDurationAttribute 符合我的规范。

我应该使用音频格式服务OSStatus AudioFormatGetProperty,还是有别的东西,也许更轻量级的,在没有 MDItem 信息的情况下就足够了?

我不需要修改或播放任何文件,我只需要知道属性值。

谢谢。

【问题讨论】:

    标签: cocoa audio qtkit spotlight


    【解决方案1】:

    从音轨的媒体而不是电影中获取属性。以下是如何以秒为单位获取持续时间的示例。

    for (QTTrack* track in [movie tracks])
    {
        QTMedia* trackMedia = [track media];
    
        if ([trackMedia hasCharacteristic:QTMediaCharacteristicAudio])
        {
            QTTime mediaDuration = [(NSValue*)[trackMedia attributeForKey:QTMediaDurationAttribute] QTTimeValue];
            long long mediaDurationScaleValue = mediaDuration.timeScale;
            long long mediaDurationTimeValue = mediaDuration.timeValue;
            result = (double)mediaDurationTimeValue / (double)mediaDurationScaleValue;
            break;
        }
    }
    

    [trackMedia mediaAttributes] 将为您提供音频的其他可用属性。

    【讨论】:

      【解决方案2】:

      如果你不害怕使用终端,mdls 可能是适合你的工具:

      mdls /path/toYour/file
      

      【讨论】:

      • 这里没有终端恐惧,但我想知道如何以编程方式获取除聚光灯之外的音频文件属性——用户可以关闭它。抱歉不清楚。
      猜你喜欢
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多