Új hozzászólás Aktív témák
-
trisztan94
őstag
Sziasztok!
MediaElement-el bénázok. Egy animáció közepén szeretnék lejátszani egy távoli serveren lévő mp3 fájlt, de fontos,hogy az animáció csak akkor lépjen tovább, ha vége az mp3nak.
VisualStateManager-rel csináltam az animációkat, ezek a State-ek vannak
SlideIn
SlideOutAz lenne a terv, hogy miután beúszott a UI elem, de még mieltt kiúszott volna játszom le a hangot.
De most jön a csavar: nem is egy, de kettő hangot szeretnék lejátszani egy bizonyos sorrenben. Először lejátszani az elsőt, ha az végigment lejátszani a másodikat, és ha az is befejeződött, elindítani a SlideOut animációt.
Valószínűleg nagyon nagy hülyeséggel próbálkoztam:
Létrehoztam két MediaElementet XAML-ben: media1, media2
Itt a code behind:
private async void play1(int i)
{
Dispatcher.BeginInvoke(() =>
{
media1.Source = new Uri(string.Format("{0}m{1}hu_HU.mp3", mp3HostName, sentences[i].id), UriKind.Absolute);
media1.MediaOpened += (object arg1, RoutedEventArgs arg2) =>
{
media1.Play();
};
});
}
private async void play2(int i)
{
Dispatcher.BeginInvoke(() =>
{
media2.Source = new Uri(string.Format("{0}m{1}en_US.mp3", mp3HostName, sentences[i].id), UriKind.Absolute);
media2.MediaOpened += (object arg1, RoutedEventArgs arg2) =>
{
media2.Play();
};
});
}
private async void Animate()
{
VisualStateManager.GoToState(this, "SlideIn", true);
Task taska = Task.Factory.StartNew(()=>play1(i));
await taska;
if(taska.IsCompleted)
{
Task taskb = Task.Factory.StartNew(() => play2(i));
await taskb;
if(taskb.IsCompleted)
{
VisualStateManager.GoToState(this, "SlideOut", true);
}
}
}Viszont mivel írok ide, kitalálható, hogy nagyon nem múködik. De úgy nagyon nagyon nem.
Hogyan kell ezt normálisan véghezvinni?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Android felhasználók OFF topikja
- Battlefield 6
- One otthoni szolgáltatások (TV, internet, telefon)
- Elektromos autók - motorok
- Kerékpárosok, bringások ide!
- Poco F8 Pro – titkos favorit lehet belőle
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Vége lehet a OnePlusnak? Állítólag az Oppo bezárná a márkát
- exHWSW - Értünk mindenhez IS
- Milyen légkondit a lakásba?
- További aktív témák...
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen1 munkaállomás - i7 10850H 16GB DDR4 256GB SSD Quadro T1000 4GB W
- darkFlash Shadow Pro
- Honor 90 512GB,Újszerű,Dobozaval,12 hónap garanciával
- Xiaomi 13T 256GB,Átlagos,Dobozaval,12 hónap garanciával
- Akció! Gamer PC-Számítógép! Beszámítás! X870 /R7 7800X3D / RX 9070XT / 32GB DDR5 / 2TB SSD
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

