C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: iTunesの曲変更について


(過去ログ 108 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■64472 / inTopicNo.1)  iTunesの曲変更について
  
□投稿者/ kkkk (1回)-(2012/12/04(Tue) 23:23:35)

分類:[.NET 全般] 

現在iTunesの操作アプリを作成しています。
comは iTunes1.13TypeLibraryを使用しています。

そこで質問なんですが、iTunes本体から曲が変更されたことを検知したいと考えています。
しかし検知するイベント等が見つかりませんでした。

もしご存じでしたらお力添え頂ければうれしいです。

万が一検知が難しいということであれば1秒毎に実行する関数などを作成しようと思いますが
無駄に感じてしまいます。

よろしくおねがいします!


環境:VisualStudio2010
言語:C#.Net
OS:windows 7
iTunesバージョン:iTunes10
引用返信 編集キー/
■64476 / inTopicNo.2)  Re[1]: iTunesの曲変更について
□投稿者/ オショウ (46回)-(2012/12/05(Wed) 01:22:09)
No64472 (kkkk さん) に返信
> 現在iTunesの操作アプリを作成しています。
> comは iTunes1.13TypeLibraryを使用しています。
>
> そこで質問なんですが、iTunes本体から曲が変更されたことを検知したいと考えています。

  見てみましたが・・・
  一番それらしいのが、『iTunesLib::ITEvent::ITEventPlayerPlayingTrackChanged』
  ぐらいでしょうか・・・

  試してみましたか?

以上。
引用返信 編集キー/
■64481 / inTopicNo.3)  Re[2]: iTunesの曲変更について
□投稿者/ kkkk (2回)-(2012/12/05(Wed) 06:29:17)
早速のレスポンスありがとうございます!

>   見てみましたが・・・
>   一番それらしいのが、『iTunesLib::ITEvent::ITEventPlayerPlayingTrackChanged』
>   ぐらいでしょうか・・・

用意されているのですね!

>
>   試してみましたか?

申し訳ありません!探し不足でした!

やはりオブジェクトラブラリを参照されたのでしょうか?
さっそく実装してみようと思います!ありがとうございました!
引用返信 編集キー/
■64529 / inTopicNo.4)  Re[2]: iTunesの曲変更について
□投稿者/ kkkk (3回)-(2012/12/05(Wed) 20:12:18)

>   一番それらしいのが、『iTunesLib::ITEvent::ITEventPlayerPlayingTrackChanged』
申し訳ありません。このイベントの使い方?定義の仕方がわかりませんでした。
イベント定義の参考サイトを見てましたが、見当もつきません。
もしよろしければご教授ください。
宜しくお願いいたします。
引用返信 編集キー/
■64532 / inTopicNo.5)  Re[3]: iTunesの曲変更について
□投稿者/ オショウ (47回)-(2012/12/05(Wed) 21:39:08)
う〜ん・・・
OnPlayerPlayingTrackChangedEvent が発生しませんネ〜

OnPlayerPlayEvent と、OnPlayerStopEvent は、トラックの変わり目で発生しますので
それを代用するしかないようです。

で、OnPlayerPlayEvent/OnPlayerStopEvent は、プログラムで捕捉されていますか?

ttp://stackoverflow.com/questions/1236869/how-do-i-catch-itunes-events

以上。参考まで
引用返信 編集キー/
■64533 / inTopicNo.6)  Re[4]: iTunesの曲変更について
□投稿者/ kkkk (7回)-(2012/12/05(Wed) 21:53:25)

何度も申し訳ありません。
教えていただいた[OnPlayerPlayEvent/OnPlayerStopEvent]を使用して組み込んでみようと思います。
参考資料を見ながら

--------------------------------------------------------------
private void iTunes_OnPlayerPlayingTrackChangedEvent(object iTrack)
{
if (iTunesApp.CurrentTrack != null)
{
if (iTunesApp.CurrentTrack.Artist != null & iTunesApp.CurrentTrack.Album != null & iTunesApp.CurrentTrack.Name != null)
{
Collection.PlayingArtist = iTunesApp.CurrentTrack.Artist;
Collection.PlayingAlbum = iTunesApp.CurrentTrack.Album;
Collection.PlayingMusic= iTunesApp.CurrentTrack.Name;

//if (!NowPlaying.IsBusy)
//{
// NowPlaying.RunWorkerAsync();
//}
}
}
}

---------------------------------------------------
上記の関数を宣言してForms_Loadで

---------------------------------------------------
iTunesApp.OnPlayerPlayingTrackChangedEvent += new _IiTunesEvents_OnPlayerPlayingTrackChangedEventEventHandler(iTunes_OnPlayerPlayingTrackChangedEvent);
---------------------------------------------------

上記を宣言したのですが
曲を停止したり再生、次の曲へ遷移等をしてもiTunes_OnPlayerPlayingTrackChangedEventを起こすことができません・・・

私の記述方法が悪いのでしょうか?

もし何かわかれば教えていただければと思います。

度重ね何度も申し訳ありません。
以上です。
引用返信 編集キー/
■64536 / inTopicNo.7)  Re[5]: iTunesの曲変更について
□投稿者/ オショウ (48回)-(2012/12/05(Wed) 22:46:30)
OnPlayerPlayingTrackChangedEvent は、発生を確認できないので
OnPlayerPlayEvent/OnPlayerStopEvent を使って下さい。

上記URLのAnswers の方に、OnPlayerPlayEvent の場合が記載
されてます。

※ VB.NET なら、Private WithEvents objITunes As iTunesLib.iTunesApp のように
  宣言するだけで、使えるので、コードも減って楽ちんですが・・・

以上。参考まで
引用返信 編集キー/
■64576 / inTopicNo.8)  Re[6]: iTunesの曲変更について
□投稿者/ kkkk (9回)-(2012/12/07(Fri) 22:26:26)
ありがとうございます!
教えていただいた方法で解決できました!!

解決済みとさせていただきます!

本当にありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -