Diskuze: pomoc k mé bc. práci. zpomalit všechna videa pomocí trackbaru
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, z toho zdrojáku co jsi sem postnul toho moc nevyčteme. Možná by nebylo zlé sem hodit i ten zbytek ...
Ale jen tak od boku - zkus nastavit rychlost přehrávání Playeru hned po tom co "přepneš to video z ListBoxu" (event na změnu trackBaru samozřejmě nechej).
Podle toho jak to popisuješ máš pravděpodobně nastavenej track bar, aby při změně své hodnoty změnil rychlost videa. Ale při změně v listboxu se už nedíváš na hodnotu na tom tvém track baru. Měloby stačit dát, že při změně videa v listoboxu nastavíš aktuální hodnotu z track baru..
Private Sub ListBox2_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ListBox2.SelectedIndexChanged, ListBox8.SelectedIndexChanged
Dim lb As ListBox = DirectCast(sender, ListBox)
If lb.Text = "abdomen, venter - břicho" Then
AxWindowsMediaPlayer1.URL = "Video\bricho2.mp4"
End If
If lb.Text = "antebrachium - předloktí" Then
AxWindowsMediaPlayer1.URL = "Video\předloktí.mp4"
End If
zdroják pro přehrávání videa je tento
Ok, a jakej příkaz mám před to dát?
mám tam potom ještě trackbar s počtem přehrávání a ten funguje jak má a přitom je nastavenej úplně stejně
Private Sub TrackBar2_Scroll(sender As Object, e As EventArgs) Handles TrackBar2.Scroll
If TrackBar2.Value = 0 Then
AxWindowsMediaPlayer1.settings.playCount = 1
End If
If TrackBar2.Value = 1 Then
AxWindowsMediaPlayer1.settings.playCount = 3
End If
If TrackBar2.Value = 2 Then
AxWindowsMediaPlayer1.settings.playCount = 5
End If
If TrackBar2.Value = 3 Then
AxWindowsMediaPlayer1.settings.playCount = 5000
End If
End Sub
Takže předpokládám, že přijde něco sem, ale netuším co:
If lb.Text = "abdomen, venter - břicho" Then
SEM???? :)
AxWindowsMediaPlayer1.URL = "Video\bricho2.mp4"
End If
díky moc za každou radu
Já jsem teda ve VB nikdy nedělal, ale měloby tam být metoda, která se podívá na hodnotu na track baru a vrátí nastavení podle té hodnoty:
If lb.Text = "abdomen, venter - břicho" Then
AxWindowsMediaPlayer1.settings.playCount = mojeMetoda()
AxWindowsMediaPlayer1.URL = "Video\bricho2.mp4"
End If
Public Function mojeMetoda()
If TrackBar2.Value = 0 Then
return = 1
End If
If TrackBar2.Value = 1 Then
return = 3
End If
If TrackBar2.Value = 2 Then
return = 5
End If
If TrackBar2.Value = 3 Then
return = 5000
Return "Infant"
End Function
Jak jsem říkal, ve VB jsem nikdy nedělal, takže ten kód není správný,
ale princip je v něm snad vidět.
Jinak hádám, že VB má lepší možnosti na výběr z možností než dávat
všude if.. C sharp má na to třeba switch a VB bude mít něco určitě taky
Public Function mojeMetoda()
If TrackBar1.Value = 0 Then
Return 1
End If
If TrackBar1.Value = 1 Then
Return 0.5
End If
Return 1
End Function
If lb.Text = "abdomen, venter - břicho" Then
AxWindowsMediaPlayer1.settings.rate = mojeMetoda()
AxWindowsMediaPlayer1.URL = "Video\bricho2.mp4"
End If
If lb.Text = "antebrachium - předloktí" Then
AxWindowsMediaPlayer1.settings.rate = mojeMetoda()
AxWindowsMediaPlayer1.URL = "Video\předloktí.mp4"
End If
If lb.Text = "axilla - podpaží" Then
AxWindowsMediaPlayer1.settings.rate = mojeMetoda()
AxWindowsMediaPlayer1.URL = "Video\podpaží.mp4"
End If
If lb.Text = "brachium - paže" Then
AxWindowsMediaPlayer1.settings.rate = mojeMetoda()
AxWindowsMediaPlayer1.URL = "Video\paže.mp4"
End If
Funguje zatím nejlíp, když je trackbar na 0, tak hraje normálně, když na 1, tak zpomaleně.
Problém nastane, když přepnu video ještě než se dokončí předchozí, trackbar může být kde chce, ale video se přehraje stejně v normální rychlosti.
Takže summary:
tak jsem to vyřešil třetím řádkem AxWindowsMediaPlayer1.ctlcontrols.stop
Zobrazeno 8 zpráv z 8.