У меня есть следующие функции, которые я пытаюсь использовать, чтобы определить длину файла MP3:Ошибка при чтении аудиофайла?
public static string GetMP3DurationBackup(string Filename)
{
string Duration = null;
WMPLib.WindowsMediaPlayer w = new WMPLib.WindowsMediaPlayer();
WMPLib.IWMPMedia m = w.newMedia(Filename);
if (m != null)
{
Duration = m.durationString;
}
w.close();
return Duration;
}
я столкнулся с проблемой, когда я получаю следующее сообщение об ошибке:
Retrieving the COM class factory for component with CLSID {6BF52A52-394A-11D3-B153-00C04F79FAA6} failed due to the following error: 80040154..
когда Я называю вышеуказанную функцию от моего веб-приложения (назовём ниже):
string test = MediaUtil.GetMP3DurationBackup(@"C:\Temp\Audio\bad.mp3");
Но когда я называю его из тестового приложения консоли жгутом я создал (точное сэм e call, как указано выше), он работает нормально. Я установил проект, который содержит функцию для целевого объекта x86 в свойствах сборки, но это не устранило проблему.
Кто-нибудь знает, почему это произойдет? Предложения о том, где начать отлаживать это?
ОБНОВЛЕНО ДЛЯ BOUNTY:
Хорошо, я попробовал несколько вещей, но я все еще получаю эту ошибку. Среди других вещей, которые я пробовал ниже шаги, которые я чувствовал, было самым перспективным, но не кости:
- пошел в мой реестр и подтвердил, что значение по адресу:
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{6BF52A52-394A-11d3-B153-00C04F79FAA6}\InprocServer32
имеет в видуC:\WINDOWS\SysWOW64\wmp.dll
- Открытый командный подскажите, переходите к C: \ WINDOWS \ SysWow64, гласил:
regsvr32.exe wmp.dll
Я создал тестовую консоль приложение, и я в состоянии воспроизвести ошибку, если я запустить тестовый проект в x64. Если я переключу его на x86, он отлично работает.
Кто-нибудь имеет представление о том, почему вышеуказанное не решит проблему? Предложения о том, где искать дальше?
Вы обеспечили, что ваш пул приложений имеет 'Enable 32-бит Applications' значение ИСТИНА? – McCee
Это Windows Server 2003 с IIS 6. Это опция в IIS 6? –
Хмм хороший момент. Попробуй это? http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/405f5bb5-87a3-43d2-8138-54b75db73aa1.mspx? mfr = true – McCee