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()

对于每个 listboxitem,但我想使用隐藏的 windows 媒体播放器,只有控件播放暂停停止和音量在他们选择单击的每个 listboxitem 上可用。

有没有办法编写一段代码,允许播放器控件在他们单击的任何项目上弹出,或者是否需要单独为所有 1,189 个列表框项设置 Windows 媒体播放器代码?

之所以有 1,189 个列表框项可供选择,是因为每个列表框项代表圣经的一章。创世纪有 50 章 - 所以只有 Genesis 有 50 个 mp3 或 wav 文件 - Psalms 有 150 章 - 所以 Psalms 有 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 - 播放暂停停止。只有一个播放器适用于每个列表框项目。

4

2 回答 2

0

无论如何,这是一种方法,我相信每个人都知道:希望可以使用 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 回答
0

我已经了解如何使用 Windows 媒体播放器播放我的listbox.selectedindex文件:

 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 回答