У меня есть проект, где требования, чтобы открыть Windows Media Player с плейлистом. Список воспроизведения построен из выбранных файлов.
От документация Я обнаружил, что легко открыть экземпляр WMP. Однако я не уверен, как создать список воспроизведения или вставить его при запуске WMP. Какие-нибудь мысли ?
#include "atlbase.h"#include "atlwin.h"#include "wmp.h"
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
HRESULT hr = S_OK;
CComBSTR bstrVersionInfo; // Contains the version string.
CComPtr<IWMPPlayer> spPlayer; // Smart pointer to IWMPPlayer interface.
hr = spPlayer.CoCreateInstance( __uuidof(WindowsMediaPlayer), 0, CLSCTX_INPROC_SERVER );
if(SUCCEEDED(hr))
{
hr = spPlayer->get_versionInfo(&bstrVersionInfo);
}
if(SUCCEEDED(hr))
{
// Show the version in a message box.
COLE2T pStr(bstrVersionInfo);
MessageBox( NULL, (LPCSTR)pStr, _T("Windows Media Player Version"), MB_OK );
}
// Clean up.
spPlayer.Release();
CoUninitialize();
return 0;
}
http://msdn.microsoft.com/en-us/library/windows/desktop/dd562624(v=vs.85).aspx
На полпути вниз по странице, которую он перечисляет:
/Playlist PlaylistName
Откройте проигрыватель и воспроизведите указанный список воспроизведения.
Запустите программу с QProcess
и укажите аргументы.
http://qt-project.org/doc/qt-4.8/qprocess.html
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ: Если вы все еще хотите использовать WMP API, вы можете посмотреть:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd563405(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/dd563242(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/dd563547(v=vs.85).aspx
Других решений пока нет …