Bass.dll Trackbar Zeit

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von OnkelR.

    Bass.dll Trackbar Zeit

    Hey.


    Ich baue Grad ein Player mit der API "Bass.net" Un4seen.

    Ich hoffe ihr könnt mir helfen :?:

    Ich möchte wenn das lied Gestartet wird das die Trackbar sich von 0 > 100 bewegt solang bis das lied zu ende ist also die länge der Musik datei..

    ich hoffe ihr versteht mich ;)
    Hallo kevios11

    VB.NET-Quellcode

    1. Option Strict On
    2. ‘Deklaration
    3. Private _HDupdateTimer As BASSTimer = Nothing
    4. Private _HDupdateInterval As Integer = 50
    5. Private tElapsed As Single
    6. Private tRemain As Single
    7. Private tLength As Single
    8. Private Channel_Pos As Long ' Position in bytes
    9. Private Channel_Len As Long ' Länge in bytes
    10. ----------------------------------------------------------------------
    11. in Form_Load oder so
    12. _HDupdateTimer = New Un4seen.Bass.BASSTimer(_HDupdateInterval)
    13. AddHandler _HDupdateTimer.Tick, AddressOf HDtimerUpdate_Tick
    14. ----------------------------------------------------------------------
    15. Private Sub Btn_Play_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Play.Click
    16. Trackbar.Value = 0
    17. Lbl_Spielzeit.Text = "00:00:00"
    18. Lbl_Restzeit.Text = "00:00:00"
    19. Lbl_Gesamtzeit.Text = "00:00:00"
    20. _strm = Bass.BASS_StreamCreateFile(_Dateiname, 0, 0, BASSFlag.BASS_DEFAULT Or BASSFlag.BASS_STREAM_AUTOFREE Or BASSFlag.BASS_SAMPLE_FLOAT)
    21. _Trackbar_init()
    22. If _strm <> 0 AndAlso Bass.BASS_ChannelPlay(_strm, False) Then
    23. _HDupdateTimer.[Start]() ‘Timer startet, Song wird abgespielt
    24. End If
    25. End Sub
    26. Private Sub Btn_Stop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Stop.Click
    27. If _strm <> 0 Then
    28. Bass.BASS_ChannelStop(_strm)
    29. Bass.BASS_StreamFree(_strm)
    30. _strm = Nothing
    31. _HDupdateTimer.[Stop]()
    32. _HDupdateTimer.[Dispose]()
    33. Trackbar.Value = 0
    34. Lbl_Spielzeit.Text = "00:00:00"
    35. Lbl_Restzeit.Text = "00:00:00"
    36. Lbl_Gesamtzeit.Text = "00:00:00"
    37. End If
    38. End Sub
    39. Private Sub Btn_Pause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Pause.Click
    40. If _strm <> 0 Then
    41. If Bass.BASS_ChannelIsActive(_strm) <> BASSActive.BASS_ACTIVE_PLAYING Then
    42. Bass.BASS_ChannelPlay(_strm, False)
    43. _HDtimerUpdate.Start()
    44. Btn_Pause.Text = "Pause"
    45. Else
    46. Bass.BASS_ChannelPause(_strm)
    47. Btn_Pause.Text = "weiter"
    48. End If
    49. End If
    50. End Sub
    51. Private Sub _Trackbar_init()
    52. Channel_Len = Bass.BASS_ChannelGetLength(_strm, BASSMode.BASS_POS_BYTES)
    53. Trackbar.Maximum = CInt(Bass.BASS_ChannelBytes2Seconds(_strm, Channel_Len))
    54. Trackbar.Value = 0
    55. End Sub
    56. Private Sub Trackbar_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Trackbar.Scroll
    57. If _strm <> 0 Then
    58. Dim pos As Long = Trackbar.Value
    59. If pos > -1 Then
    60. Bass.BASS_ChannelSetPosition(_strm, Bass.BASS_ChannelSeconds2Bytes(_strm, pos))
    61. tLength = CSng(Bass.BASS_ChannelBytes2Seconds(_strm, Channel_Len))
    62. tElapsed = CSng(Bass.BASS_ChannelBytes2Seconds(_strm, Channel_Pos))
    63. tRemain = tLength - tElapsed
    64. Lbl_Spielzeit.Text = Un4seen.Bass.Utils.FixTimespan(tElapsed, "HHMMSS")
    65. Lbl_Restzeit.Text = Un4seen.Bass.Utils.FixTimespan(tRemain, "HHMMSS")
    66. Lbl_Gesamtzeit.Text = Un4seen.Bass.Utils.FixTimespan(tLength, "HHMMSS")
    67. End If
    68. End If
    69. End Sub
    70. Private Sub HDtimerUpdate_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
    71. Channel_Pos = Bass.BASS_ChannelGetPosition(_strm, BASSMode.BASS_POS_BYTES)
    72. If CType(Bass.BASS_ChannelIsActive(_strm), BASSActive) = BASSActive.BASS_ACTIVE_PLAYING Then
    73. tLength = CSng(Bass.BASS_ChannelBytes2Seconds(_strm, Channel_Len))
    74. tElapsed = CSng(Bass.BASS_ChannelBytes2Seconds(_strm, Channel_Pos))
    75. tRemain = tLength - tElapsed
    76. Lbl_Spielzeit.Text = Un4seen.Bass.Utils.FixTimespan(tElapsed, "HHMMSS")
    77. Lbl_Restzeit.Text = Un4seen.Bass.Utils.FixTimespan(tRemain, "HHMMSS")
    78. Lbl_Gesamtzeit.Text = Un4seen.Bass.Utils.FixTimespan(tLength, "HHMMSS")
    79. Trackbar.Value = CInt(tElapsed)
    80. ElseIf CType(Bass.BASS_ChannelIsActive(_strm), BASSActive) = BASSActive.BASS_ACTIVE_PAUSED Then
    81. ElseIf CType(Bass.BASS_ChannelIsActive(_strm), BASSActive) = BASSActive.BASS_ACTIVE_STOPPED Then
    82. Else
    83. Exit Sub
    84. End If
    85. End Sub


    mfg OnkelR

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „OnkelR“ ()