S AxWindowsMediaPlayerem nemám praktické zkušenosti, ale s DirectX.AudioVideoPlayback to jde celkem jednoduše (dá se přímo nastavit i konec přehrávání):
Imports Microsoft.DirectX.AudioVideoPlayback
Public Class Form1
Dim WithEvents aud As Audio
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
aud = New Audio("D:\dokumenty\tata\obec\infokanal\data\hudba\L Stopa 4.mp3")
' čas začátku přehrávání (v s)
Dim start As Double = 5.5
' délka přehrávaného úseku (v s)
Dim delka As Double = 7.25
' nastaví začáteční bod přehrávání
aud.SeekCurrentPosition(10000000 * start, SeekPositionFlags.AbsolutePositioning)
'' stejný efekt možno získat:
'aud.CurrentPosition = start
' nastaví konec skladby
aud.SeekStopPosition(10000000 * delka, SeekPositionFlags.IncrementalPositioning)
'' možno použít i absolutního vyjádření:
'' čas konce skladby (v s)
'Dim konec As Double = 12.75
'aud.SeekStopPosition(10000000 * konec, SeekPositionFlags.AbsolutePositioning)
' pouze kontrola:
MsgBox("Čas začátku: " & aud.CurrentPosition & " s" & vbCrLf & "Čas konce : " & aud.StopPosition / 10000000 & " s")
' spustíme přehrávání
aud.Play()
End Sub
End Class
Do referencí je zapotřebí, samozřejmě dát DirectX a directX.audioVideoPlayback. Uvedený příklad je pouze funkční demo, jak si nastavíte hodnoty "start" a "delka" resp, "konec" je plně na Vašich potřebách (buď můžete zadat přímo časové údaje - jako v ukázce, nebo si skladbu můžete nejprve "rozstříhat" Vaším postupem a jednotlivé časy si odchytit a uložit.
|