未整理
/*
空のCLRプロジェクト
*/
#include <stdio.h> //printf とかで必要
#include <wmsdk.h> //HRESULT とかで必要
#pragma comment(lib, "wmvcore.lib") //IWMMetadataEditor とかで必要
#pragma comment ( lib, "ole32.lib" )//CoInitialize で必要
using namespace System;//Console::ReadLine()で必要
#ifndef SAFE_RELEASE
#define SAFE_RELEASE(x) \
if(x != NULL) \
{ \
x->Release(); \
x = NULL; \
}
#endif
int main(void)
{
HRESULT hr = S_OK;
IWMProfile * pProfile= NULL;; //
IWMSyncReader * mSyncReader;
hr = WMCreateSyncReader(NULL, 0, &mSyncReader);
// Create a profile manager object.
// プロファイルマネージャオブジェクトを作成します。
hr = mSyncReader->Open(L"G:\\sampleMovie\\sample.mp3");
if (FAILED(hr))
{
printf("-------------失敗----------------");
return E_FAIL;
}
hr = mSyncReader->QueryInterface(IID_IWMProfile,(void**)&pProfile);
DWORD dwStreamCount = 0;
hr = pProfile->GetStreamCount(&dwStreamCount);
for (DWORD dwIndex = 0; dwIndex < dwStreamCount; dwIndex++)
{
printf("%d-------------\r\n",dwIndex);
IWMStreamConfig *pConfig = NULL;
hr = pProfile->GetStream(dwIndex, &pConfig);
if (FAILED(hr))
{
printf("%d------失敗-------");
printf("Could not get the stream: (hr=0x%08x)\n", hr);
return hr;
}
GUID guid = GUID_NULL;
hr = pConfig->GetStreamType(&guid);
if (FAILED(hr))
{
printf("------失敗1-------");
printf("Could not get the stream type: (hr=0x%08x)\n", hr);
return hr;
}
else
{
if (WMMEDIATYPE_Video == guid)
{
printf("WMMEDIATYPE_Video\r\n");
}
else if (WMMEDIATYPE_Audio == guid)
{
printf("WMMEDIATYPE_Audioo\r\n");
}
else if (WMMEDIATYPE_Script == guid)
{
printf("WMMEDIATYPE_Script\r\n");
}
else{
printf("その他\r\n");
}
}
}
printf("-------------プログラム終了----------------");
Console::ReadLine();//入力待-ウインドウ維持
}
0 件のコメント:
コメントを投稿