RukeとLuNaYuの日記
I know the truth.
I know whole.
And I...know you.
平凡な大学生活の日記です。時折まじめな長文を書く病気になります。興味がなければ読み飛ばしてください。
200503 << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >> 200504
スポンサーサイト (--/--/--(--) --:--:--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
アイチューンズ (2006/05/28(日) 01:13:34)
#include <windows.h>
#include <string>
#include <iostream>
#include <conio.h>

// iTunes
#include "iTunesCOMInterface.h"

IiTunes* iTunes = NULL;

std::string BSTRToString(const BSTR bstr){
int len=WideCharToMultiByte(CP_ACP,0,bstr,-1,NULL,0,NULL,NULL);
std::string str;
LPSTR s=new CHAR[len];
WideCharToMultiByte(CP_ACP,0,bstr,-1,s,len,NULL,NULL);
str=s;
delete s;
return str;
}

int main(){
char inputchar;
// COMの初期化
if(::CoInitialize(NULL)){
puts("COMの初期化に失敗");
return FALSE;
}
// iTunesオブジェクトの生成
HRESULT hRes = ::CoCreateInstance(CLSID_iTunesApp, NULL, CLSCTX_LOCAL_SERVER, IID_IiTunes, (PVOID *)&iTunes);
if(!(hRes == S_OK && iTunes)){
puts("iTunesCOMの生成に失敗");
return FALSE;
}

//ループ
while(1){
//色々取得して表示
IITTrack * iTrack;
iTunes->get_CurrentTrack(&iTrack);
if(iTrack){
BSTR trackName, trackArtist, trackAlbum;

iTrack->get_Name(&trackName);
iTrack->get_Artist(&trackArtist);
iTrack->get_Album(&trackAlbum);
iTrack->Release();
std::cout << "trackName=" << BSTRToString(trackName)
<< ".\ntrackArtist=" << BSTRToString(trackArtist)
<< ".\ntrackAlbum=" << BSTRToString(trackAlbum) << ".\n";
::SysFreeString(trackName);
::SysFreeString(trackArtist);
::SysFreeString(trackAlbum);
}
//入力を待って各種処理
std::cout << "q:exit this program, spacebar: play/pause, b:back track, n:next track.\n";
inputchar=_getch();
if(inputchar=='q'){
break;
}else if(inputchar==' '){
iTunes->PlayPause();
}else if(inputchar=='b'){
iTunes->BackTrack();
}else if(inputchar=='n'){
iTunes->NextTrack();
}
}
// iTunesオブジェクトの後片付け
iTunes->Release();
// COMの後片付け
::CoUninitialize();

}

あとはCOMのイベントハンドリングか、、、
スポンサーサイト
コメント
この記事へのコメント
2006/05/29(月) 00:58:21 |nuc|URL | #wr.8gKW6[ 編集]
コード書いているなんて珍しいじゃないか。
承認待ちコメント
2008/08/24(日) 21:09:15 || | #[ 編集]
このコメントは管理者の承認待ちです
歯磨き粉ランキング
2008/08/25(月) 08:43:59 |Nameless|URL | #-[ 編集]
歯磨き粉の検索サイト。ランキング、ホワイトニング、ライオン、歯槽膿漏、歯周病など歯磨き粉に関する各種情報をお届けしています。 http://fact.stuartmembery.com/
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
(C)Copyright 2003-2007 by Ruke All rights reserved. Powered By FC2. VALID HTML? VALID CSS?
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。