0

ユーザーが選択できる 1,189 個のリストボックス項目があります。クリックしたリストボックス項目ごとにオーディオファイルを再生したい。私はできることを知っています:

My.Computer.Audio.Play(My.Resources."filename here", AudioPlayMode.BackgroundLoop)

と:

Dim sPath As String
    Dim mySound As Media.SoundPlayer
    sPath = "C:\wav\Genesis01.wav"
    mySound = New Media.SoundPlayer(sPath)
    mySound.Play()

リストボックス項目ごとに非表示のWindows Media Playerを使用したいのですが、クリックすることを選択したリストボックス項目ごとにコントロールの再生、一時停止、停止、およびボリュームのみを使用できます。

どの項目をクリックしてもプレーヤー コントロールがポップアップできるようにする単一のコードを記述する方法はありますか、それとも 1,189 個のリストボックス項目すべてに対して Windows Media Player コードを個別に作成する必要がありますか?

1,189 個のリストボックス項目から選択できる理由は、各リストボックス項目が聖書の章を表しているからです。ジェネシスには 50 のチャプターがあります。つまり、ジェネシスだけで 50 の mp3 または wav ファイルがあります。詩篇には 150 のチャプターがあります。つまり、詩篇には 150 の mp3 または wav ファイルがあります。可能であれば、ほんの数行のコードでコーディング作業の一部を削減することを考えていましたか? ご返信ありがとうございます。

聖書の各本にボタンがあることを明確にする必要があります。つまり、39 の旧約聖書と 27 の新約聖書のボタンがあり、各ボタンにはその本の特定の章を含むリストボックスが含まれています。ここに私のコードがあり、ここに私が始めたことがあります:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If ListBox1.Visible = True Then
ListBox1.Visible = False
Else : ListBox1.Visible = True

ファイルを再生するために、私はこれを始めました:

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    Select Case ListBox1.SelectedIndex
        Case 0
            My.Computer.Audio.Play(My.Resources.Genesis01, AudioPlayMode.BackgroundLoop)
        Case 1
            My.Computer.Audio.Play(My.Resources.Genesis02, AudioPlayMode.BackgroundLoop)
        Case 2
            My.Computer.Audio.Play(My.Resources.Genesis03, AudioPlayMode.BackgroundLoop)
        Case 3
            My.Computer.Audio.Play(My.Resources.Genesis04, AudioPlayMode.BackgroundLoop)
        Case 4
            My.Computer.Audio.Play(My.Resources.Genesis05, AudioPlayMode.BackgroundLoop)
        Case 5
            My.Computer.Audio.Play(My.Resources.Genesis06, AudioPlayMode.BackgroundLoop)
        Case 6
            My.Computer.Audio.Play(My.Resources.Genesis07, AudioPlayMode.BackgroundLoop)
    End Select
Private Sub Button42_Click(sender As Object, e As EventArgs) Handles Button42.Click
My.Computer.Audio.Stop()
ListBox1.ClearSelected()
End Sub

それで、コントロールだけでwmpを手伝ってくれることを願っています-一時停止停止を再生します。各リストボックス項目で機能するプレーヤーは 1 つだけです。

4

2 に答える 2

0

listbox.selectedindexWindows Media Player を使用してファイルを再生する方法を理解しました。

 Private Sub ListBox10_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox10.SelectedIndexChanged
    Select Case ListBox10.SelectedIndex
        Case 0
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (1).wav"
        Case 1
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (2).wav"
        Case 2
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (3).wav"
        Case 3
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (4).wav"
        Case 4
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (5).wav"
        Case 5
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (6).wav"
        Case 6
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (7).wav"
        Case 7
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (8).wav"
        Case 8
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (9).wav"
        Case 9
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (10).wav"
        Case 10
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (11).wav"
        Case 11
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (12).wav"
        Case 12
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (13).wav"
        Case 13
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (14).wav"
        Case 14
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (15).wav"
        Case 15
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (16).wav"
        Case 16
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (17).wav"
        Case 17
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (18).wav"
        Case 18
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (19).wav"
        Case 19
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (20).wav"
        Case 20
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (21).wav"
        Case 21
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (22).wav"
        Case 22
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (23).wav"
        Case 23
            AxWindowsMediaPlayer1.URL = "C:\Bible\2Samuel\2Samuel (24).wav"
    End Select
End Sub

Private Sub Button44_Click(sender As Object, e As EventArgs) Handles Button44.Click
    AxWindowsMediaPlayer1.Ctlcontrols.play()
End Sub

Private Sub Button45_Click(sender As Object, e As EventArgs) Handles Button45.Click
    AxWindowsMediaPlayer1.Ctlcontrols.pause()
End Sub

Private Sub Button46_Click(sender As Object, e As EventArgs) Handles Button46.Click
    AxWindowsMediaPlayer1.Ctlcontrols.stop()
End Sub

チャプター名をクリックするとオーディオが再生されます - 一時停止と停止ボタンが機能し、一時停止からオーディオの再生を続けたい場合は、再生ボタンが機能して再生を続けます。

于 2015-02-04T21:53:41.727 に答える
0

これはとにかくそれを行う 1 つの方法であり、誰もが知っていると確信しています: wmp プラグインで改善できることを願っています。

Case 0
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis01.wav", AudioPlayMode.BackgroundLoop)
Case 1
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis02.wav", AudioPlayMode.BackgroundLoop)
Case 2
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis03.wav", AudioPlayMode.BackgroundLoop)
Case 3
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis04.wav", AudioPlayMode.BackgroundLoop)
Case 4
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis05.wav", AudioPlayMode.BackgroundLoop)
Case 5
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis06.wav", AudioPlayMode.BackgroundLoop)
Case 6
      My.Computer.Audio.Play("C:\Bible\Genesis\Genesis07.wav", AudioPlayMode.BackgroundLoop)
于 2015-02-04T18:34:44.717 に答える