Здравствуйте! Я начинающий. Пользуясь хелпами DS, написал код для воспроизведения медиа-файлов под .NET( в смысле с кнопками и ...) возникла проблема.
при вызове
hr = pGraphBuilder->RenderFile(pszFileName, NULL);
Здравствуйте, serduk, Вы писали:
S>Здравствуйте! Я начинающий. Пользуясь хелпами DS, написал код для воспроизведения медиа-файлов под .NET( в смысле с кнопками и ...) возникла проблема. S>при вызове S>hr = pGraphBuilder->RenderFile(pszFileName, NULL);
S>hr -2147220970 __int32
//
// MessageId: VFW_E_NOT_FOUND
//
// MessageText:
//
// An object or name was not found.%0
//#define VFW_E_NOT_FOUND ((HRESULT)0x80040216L)
Переводить, надеюсь, не нужно?
Также советую обратить внимание на функцию AMGetErrorText() — очень помогает при отладке.
Здравствуйте, romson, Вы писали:
R>Здравствуйте, serduk, Вы писали:
S>>Здравствуйте! Я начинающий. Пользуясь хелпами DS, написал код для воспроизведения медиа-файлов под .NET( в смысле с кнопками и ...) возникла проблема. S>>при вызове S>>hr = pGraphBuilder->RenderFile(pszFileName, NULL);
S>>hr -2147220970 __int32
R>
R>//
R>// MessageId: VFW_E_NOT_FOUND
R>//
R>// MessageText:
R>//
R>// An object or name was not found.%0
R>//
R>#define VFW_E_NOT_FOUND ((HRESULT)0x80040216L)
R>
R>Переводить, надеюсь, не нужно?
R>Также советую обратить внимание на функцию AMGetErrorText() — очень помогает при отладке.
Т.е. если я правильно понял, то причина в некоректном преобразовании имени файла?
Здравствуйте, serduk, Вы писали:
S>Т.е. если я правильно понял, то причина в некоректном преобразовании имени файла?
Скорее всего. Либо в его отсутсвии в указанном месте на диске. Кстати, для преобразования обычной строки в юникодную очень удобно пользоваться макросом CA2W (MFC/ATL).
Здравствуйте, romson, Вы писали:
R>Здравствуйте, serduk, Вы писали:
S>>Т.е. если я правильно понял, то причина в некоректном преобразовании имени файла?
R>Скорее всего. Либо в его отсутсвии в указанном месте на диске. Кстати, для преобразования обычной строки в юникодную очень удобно пользоваться макросом CA2W (MFC/ATL).
Макросами я пробовал пользоваться(СT2CW),результат одинаков.я думаю тут другая проблема. Просто плеер мой написан под .NET, где при вызове диалога запроса имени файла возвращаеться строка типа System::String, которую я преобразую в массив wchar_t функцией
void ToWstring(System::String* net_string,wchar_t* &string )
{
string=new wchar_t[net_string->Length+1];
//if(string.length>=net_string->Length)
for (int i = 0, i_end = net_string->Length; i < i_end; ++i)
string[i]= net_string->get_Chars(i);
string[net_string->Length+1]='\0';
};
ну а пом использую эту строку в pGraphBuilder->RenderFile(pszFileName, NULL);.
Известен ли Вам какой-то другой способ преобразования?
Здравствуйте, serduk, Вы писали:
S>Макросами я пробовал пользоваться(СT2CW),результат одинаков.я думаю тут другая проблема. Просто плеер мой написан под .NET, где при вызове диалога запроса имени файла возвращаеться строка типа System::String, которую я преобразую в массив wchar_t функцией
S>void ToWstring(System::String* net_string,wchar_t* &string ) S> { S> string=new wchar_t[net_string->Length+1]; S> //if(string.length>=net_string->Length) S> for (int i = 0, i_end = net_string->Length; i < i_end; ++i) S> string[i]= net_string->get_Chars(i); S> string[net_string->Length+1]='\0';
S> }; S>ну а пом использую эту строку в pGraphBuilder->RenderFile(pszFileName, NULL);.
S>Известен ли Вам какой-то другой способ преобразования?
К сожалению, с .NET я практически не работал, поэтому вряд ли могу посоветовать более эффективный способ. Хотя, я бы всё-таки исправил строчку: