2012-05-28 4 views
3

Я ищу эффективную альтернативу захвату атрибуты аудиофайлов в случае, если фары отключены.изучение аудиофайла, альтернативного прожектору

Spotlight's MDItem Признаки: kMDItemDurationSeconds, kMDItemAudioEncodingApplication, kMDItemAudioBitRate, kMDItemAudioSampleRate,kMDItemAudioChannelCount, kMDItemCodecs, возможны.

однако movieAttributes QTKit в (если файл может быть типа QTMovie), не являются завершенными, только QTMovieDurationAttribute наполняет мою спецификацию.

я должен использовать АУДИОФОРМАТ услуги: OSStatus AudioFormatGetProperty, или есть что-то еще, возможно, более легкий вес, который будет достаточным при отсутствии информации MDItem?

Мне не нужно изменять или воспроизводить файлы, мне нужно знать только значения свойств.

спасибо.

ответ

0

Получить атрибуты из средств массовой информации в аудио трека, а не кино. Вот пример того, как получить продолжительность в секундах.

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] предоставит вам другие доступные атрибуты аудио.

+0

спасибо davyd, это указывает на меня в полезном направлении. – lulu

+0

Добро пожаловать. – Davyd

0

Если вы не боитесь использовать терминал, mdls, вероятно, инструмент для вас:

mdls /path/toYour/file 
+0

здесь нет терминального страха, но я хочу знать, как я могу программно получить атрибуты аудиофайлов, кроме прожектора, - которые пользователь мог отключить. извините за неясность. – lulu