2014-01-30 6 views
3

Я пытаюсь прочитать свойство «бит скорости» аудиофайлов. Я знаю, как получить ценность, но так, как я это делаю, я не считаю себя наиболее эффективным.Свойство «Битовая скорость» зафиксировано в индексе 28?

Shell shell = new Shell32.Shell(); 
Folder objFolder = shell.NameSpace(path); 
for (int i = 0; i < short.MaxValue; i++) 
{ 
    string property = objFolder.GetDetailsOf(null, i); 
    if (String.IsNullOrEmpty(property)) 
     break; 
    if (property.Equals("Bit rate")) 
    { 
     index = i; 
     break; 
    } 
} 
FolderItem item = objFolder.ParseName(fileName); 
string bitRateValue = objFolder.GetDetailsOf(item, index); 

Меня беспокоит то, что цикл, который я должен получить индекс «Скорость передачи», так что для всех моих тестов вернулся мне индекс 28, поэтому я начал задаваться вопросом, если битовая скорость можно найти всегда по индексу 28? Если нет, то есть ли лучший способ узнать, на каком индексе находится скорость передачи данных?

ответ

1

После небольшого исследования и помощи других членов, я получил то, что искал. Этот ответ предназначен для тех, кто может приземлиться здесь для поиска битрейт-свойств аудиофайлов.

Прежде всего, если мы используем Shell, то свойство bitrate всегда будет найдено в индексе 28. Однако это до объекта Shell, если оно содержит любое значение для этого свойства. поскольку основная цель Shell - не читать аудиофайлы, поэтому мы не должны полагаться на нее, чтобы читать любые свойства аудиофайла.

This Thread объясняет, что нам нужно сделать, чтобы прочитать битрейт .wav.

Смежные вопросы