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

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

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

Re[2]: WMPプレイリスト内のメディアの再生時間が取得できない


(過去ログ 126 を表示中)

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

■74941 / inTopicNo.1)  WMPプレイリスト内のメディアの再生時間が取得できない
  
□投稿者/ 悠斗 (2回)-(2015/02/11(Wed) 22:55:27)

分類:[.NET 全般] 

2015/02/11(Wed) 23:42:10 編集(投稿者)

いつもお世話になってます。

WindowsMediaPlayerのプレイリストに追加されている複数のメディアの再生時間をString型で取得してリストボックスに追加したいのですが、

For i As Integer = 0 To AxWindowsMediaPlayer1.currentPlaylist.count - 1
  ListBox1.Items.Add(AxWindowsMediaPlayer1.currentPlaylist.Item(i).durationString)
Next

このように処理を記述したところ、1曲目(iの値が0)のループ時に必ず「00:00」が追加されます。
2曲目以降のループでは正しい再生時間が取得でき、表示されています。

自分でもいろいろ調べましたが、原因がわからずに困っています。
どなたか知恵をお貸しください。

よろしくお願い致します。
引用返信 編集キー/
■74944 / inTopicNo.2)  Re[1]: WMPプレイリスト内のメディアの再生時間が取得できない
□投稿者/ Hongliang (279回)-(2015/02/12(Thu) 00:15:51)
ほんとですね。
試した感じ、newMediaからcurrentPlaylist.appendItemまでの間に、
IWMPMediaの一部のメンバのいずれかに触っておけば後で確認したときもちゃんと取れるようでしたが、
いかがでしょうか?

Dim media = AxWindowsMediaPlayer1.newMedia(...)
' 最適化抑制のため返値を一応使用するがReturnは絶対あり得ないはず
' attributeCountじゃなくてもいいけどそこにあったので
If media.attributeCount < 0 Then Return
AxWindowsMediaPlayer1.currentPlaylist.appendItem(media)

引用返信 編集キー/
■74999 / inTopicNo.3)  Re[2]: WMPプレイリスト内のメディアの再生時間が取得できない
□投稿者/ 悠斗 (3回)-(2015/02/16(Mon) 23:35:04)
Hongliangさん
返信ありがとうございました。
無事にできるようになりました!
感謝です!
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -