質問編集履歴

1 文字の修正

退会済みユーザー

退会済みユーザー

2018/04/04 20:50  投稿

プレイリストがうまく行けなくなりました。
前回質問させていただいた物です。
すいません、実は去年から作ってたものですが
プレイリストがうまくいけなくなりました。
###原因
1、プレイリストは再生出来る
2、リストボックスから選択しても一番上になる
###ソースコード
```ここに言語を入力
form1
Dim strFileName As String
 Private Sub Playlists_Click(sender As Object, e As EventArgs) Handles playlists.Click
AxWindowsMediaPlayer1.settings.autoStart = False
       OpenFileDialog1.FileName = ""
       OpenFileDialog1.Multiselect = True
       OpenFileDialog1.Title = "開くファイルを指定"
       OpenFileDialog1.Filter = "MP3(*.mp3)|*.mp3|
全てのファイル (*.*)|*.*"
       OpenFileDialog1.FilterIndex = 1
       OpenFileDialog1.RestoreDirectory = True
       If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
       End If
’1
       For Each strFilePath As String In OpenFileDialog1.FileNames
           strFileName = IO.Path.GetFileName(strFilePath)
           ListBox2.Items.Add(strFileName)
    AxWindowsMediaPlayer1.currentPlaylist.appendItem(AxWindowsMediaPlayer1.newMedia(strFilePath))
       Next
       TextBox1.Text = System.IO.Path.GetFileName(ListBox2.SelectedItem)
   End Sub
Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As System.Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange
       Try
’2
           For i = 0 To AxWindowsMediaPlayer1.currentPlaylist.count - 1
               If AxWindowsMediaPlayer1.currentMedia.isIdentical(AxWindowsMediaPlayer1.currentPlaylist.Item(i)) Then
                   ListBox2.SelectedIndex = Str(i)
’ここまで
               End If
           Next
           MetroProgressbar1.Value = 0
       Catch ex As Exception
       End Try
       Select Case e.newState
           Case WMPLib.WMPPlayState.wmppsPlaying '再生中
               TextBox3.Text = AxWindowsMediaPlayer1.currentMedia.durationString
              Timer3.Start()
               title.Text = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Title")
               artist.Text = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Artist")
               Albam.Text = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Album")
               Janru.Text = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Genre")
               MetroProgressbar1.Maximum = AxWindowsMediaPlayer1.currentMedia.duration
               MetroProgressbar1.Value = 0
           Case e.newState = WMPLib.WMPPlayState.wmppsMediaEnded '再生終了
               Timer3.Stop()
               MetroProgressbar1.Value = 0
           Case WMPLib.WMPPlayState.wmppsMediaEnded
               ' 再生が全て終了した時()
               AxWindowsMediaPlayer1.Ctlcontrols.stop()
           Case Else
               Debug.Print(e.newState.ToString()
       End Select
   End Sub
Private Sub ListBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedIndexChanged
       If ListBox2.SelectedItem <> "" Then
’3
           TextBox1.Text = System.IO.Path.GetFileName(ListBox2.SelectedItem)
       End If
   End Sub
end crass
```
###試した結果
’1,2では問題なく再生出来るんです。
ただ、3の方に
AxWindowsMediaPlayer1.URL=listbox2.selectedIndex
AxWindowsMediaPlayer1.URL=strFileName As(listbox2.selectedIndex)
など追加して試してみてもできませんでした。
###解決したい事
再び質問します、恐れ入りますが
恐れ入りますが申し訳ございません。
listboxから曲を選択後、再生出来るようにしたい事
一曲目が終わり後に次の曲に再生
申し訳ございませんお願い申し上げます。
使っている環境は前回と同じVistula Studio 2017 VBです。
  • VB

    553 questions

    VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

  • Visual Basic .NET

    170 questions

    Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

  • Visual Studio

    4372 questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • VB.NET

    1705 questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る