检查聚光灯的音频文件替代项



我正在寻找一种有效的替代方案,以便在关闭聚光灯的情况下获取音频文件属性

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

但是QTKit的movieProperties(如果文件可以是QTMovie类型)并不完整,只有QTMovieDurationAttribute满足我的规格。

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

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

谢谢。

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

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]将为您提供音频的其他可用属性。

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

mdls /path/toYour/file

相关内容

  • 没有找到相关文章

最新更新