Witam, próbuje zrobić w programie Visual Studio 2010 Express for Windows Phone aplikacje i chcę wstawić dźwięk za pomocą właśnie Mediaelement. Problem polega na tym że chcę zrobić 2 przyciski, jeden służy do włączania i wyłączania dźwięku.1 a drugi włącza dźwięk.2 ale pod warunkiem że dźwięk.1 jest włączony. Niestety mam problem ze zrobieniem tak aby jednym przyciskiem dało się włączyć dźwięk.1 i wyłączyć. Jedyne co udaje mi się zrobić z tym przyciskiem to to żeby włączył dźwięk i wygląda to tak:
private void power_Click(object sender, RoutedEventArgs e)
{
media.Play();
}
Na necie szukałem coś o tym i tam znalazłem żeby zrobić coś takiego:
private bool isPlaying = false;
private void power_Click(object sender, RoutedEventArgs e)
{
if (isPlaying)
{
media.Play();
isPlaying = true;
}
Ale w tym przypadku dźwięk wogóle się nie pojawia, a w tym poprzednim sposobie się włączał jedynie.
|
|
ASUS OC School
- OC School – niedoceniane zalety chipsetu Intel X58, materiał wideo
13 Sie 2011 15:30Komentarzy: 34 - ASUS OC School, czyli szkoła podkręcania. Część 2. – niedoceniane cechy X58
11 Sie 2011 08:33 - OC School – podkręcanie kart graficznych, materiał wideo
16 Cze 2011 11:10 - Rusza Asus OC School
30 Maj 2011 17:28 - OC School, czyli szkoła podkręcania. Część 1. – karty graficzne
30 Maj 2011 17:27
Ostatnio dodane tematy
- Czy warto brać Asusa X52j
przez daniel105

Dzisiaj, 10:27 - [K] Shure 440/hd555/hd380pro/akg540
przez bleizer

Dzisiaj, 10:16 - Reakcja Kiepskich na "Koko roko..."
przez grzechotnik.d

Dzisiaj, 10:08 - [K] Monitor LCD 17-19"
przez bogus122

Dzisiaj, 09:50 - aplikacja śledząca użytkownika i nagrywająca rozmowy
przez konrad28

Dzisiaj, 09:40 - dwie grafiki w laptopie
przez Yoochith

Dzisiaj, 09:23 - Złe kodowanie w Windows Live Mail 2011 podczas drukowania "własnych" maili.
przez Deacon_Frost

Dzisiaj, 09:01 - Poszukuje nowego laptopa do 2000/2500 zl
przez BitGamer

Dzisiaj, 08:42
Nowe artykuły
- Sieci komputerowe w praktyce – poradnik
Dzisiaj, 05:45 - Diablo 3 – najnowsze, długo oczekiwane dziecko Blizzarda
19 Maj 2012 20:54 - Test ośmiu monochromatycznych laserowych urządzeń wielofunkcyjnych
17 Maj 2012 07:11 - AMD A10-4600M – mobilne Trinity kontra Core i3 oraz Core i5
15 Maj 2012 05:00 - Sony Ericsson Xperia neo V, Samsung Wave 3, Samsung Galaxy S Plus, Nokia 701, Motorola Defy+, LG Swift 2X – test smartfonów za mniej więcej tysiąc złotych
14 Maj 2012 07:16
Ostatnie aktualności
- Samsung prezentuje proste grafenowo-krzemowe układy scalone
19 Maj 2012 17:09 - Facebook debiutuje na giełdzie z wielką pompą
18 Maj 2012 19:21 - GeForce GTX 670 firmy ELSA
18 Maj 2012 14:15 - Miniaturowy komputer kieszonkowy
18 Maj 2012 13:54 - EVGA kolejny raz pokazuje, jak dba o swoich klientów
18 Maj 2012 01:20
Najnowsze pliki
- KoolMoves 8.3.2
Wczoraj, 09:30Pobrań: 7401 - Darker D3 Pixel Shader 0.9 Beta
19 Maj 2012 23:25Pobrań: 28 - RogueKiller 7.4.5.0
19 Maj 2012 08:27Pobrań: 1160 - Fraps 3.5.1
19 Maj 2012 08:25Pobrań: 11196 - VSO Downloader 2.9.5.5
18 Maj 2012 12:55Pobrań: 6745
Strona 1 z 1
Visual Studio 2010 Mediaelement problem
#2
Napisany 07 Luty 2012 - 15:17
No to wyobraź sobie, że wchodzisz pierwszy raz do power_Click. Zmienna isPlaying ma wartość "false", czyli do wnętrza warunku nie wejdzie. Zmodyfikuj if'a i dodaj else, w którym będziesz dźwięk zatrzymywał.
#3
Napisany 09 Luty 2012 - 15:38
Już sobie poradziłem, ale teraz inny problem. Dodałem drugi Medialement z inną nazwą i innym dźwiękiem i kiedy klikam Power Button żeby odpalić dźwięk.1 to się włączają oba... a nawet nie dotykałem się do drugiego jeszcze
#5
Napisany 09 Luty 2012 - 19:13
namespace Test
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private bool isPlaying = true;
private void power_Click(object sender, RoutedEventArgs e)
{
if (isPlaying)
{
media.Play();
isPlaying = false;
}
else
{
media.Stop();
isPlaying = true;
}
}
}
}
To tyle, problem w tym że właśnie mam 2 Mediaelement jeden to właśnie ten tutaj nazwany "media" a drugi to "media2" i ten "media2" wogóle nie jest zaprogramowany na razie, czyli nie powinien się włączać a kiedy kliknę ten PowerButton to nie słychać wogóle tego "media1" bo "media2" go zagłusza a nie wiem jakim cudem się włącza przy wciśnięciu Powera
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private bool isPlaying = true;
private void power_Click(object sender, RoutedEventArgs e)
{
if (isPlaying)
{
media.Play();
isPlaying = false;
}
else
{
media.Stop();
isPlaying = true;
}
}
}
}
To tyle, problem w tym że właśnie mam 2 Mediaelement jeden to właśnie ten tutaj nazwany "media" a drugi to "media2" i ten "media2" wogóle nie jest zaprogramowany na razie, czyli nie powinien się włączać a kiedy kliknę ten PowerButton to nie słychać wogóle tego "media1" bo "media2" go zagłusza a nie wiem jakim cudem się włącza przy wciśnięciu Powera
#6
Napisany 09 Luty 2012 - 20:55
Po pierwsze obsługa przycisku powinna wyglądać tak:
Jeśli natomiast chcesz wymusić, żeby ten guzik obsługiwał tylko obiekt "media", to możesz w tej metodzie wymusić zatrzymanie odtwarzania z "media2", np. tak:
No chyba że jest jakiś wymóg, żeby w takiej aplikacji była tylko jedna kontrolka typu MediaElement, ale tego musisz już poszukać sam na MSDN, bo mi przy szybkim przejrzeniu nic takiego w oko nie wpadło. A swoją drogą, skoro chcesz odtwarzać jeden dźwięk na raz, to dlaczego dodałeś 2 obiekty MediaElement? Nie lepiej dodać jeden i w zależności od klikniętego przycisku ustawiać mu ścieżkę na plik, który ma odtwarzać(chyba za pomocą parametru Source)?
private bool isPlaying = false;
private void power_Click(object sender, RoutedEventArgs e)
{
if (!isPlaying)
{
media.Play();
isPlaying = true;
}
else
{
media.Stop();
isPlaying = false;
}
}
Jeśli natomiast chcesz wymusić, żeby ten guzik obsługiwał tylko obiekt "media", to możesz w tej metodzie wymusić zatrzymanie odtwarzania z "media2", np. tak:
private void power_Click(object sender, RoutedEventArgs e)
{
//wymuś zatrzymanie odtwarzania media2 za każdym razem kiedy guzik power będzie kliknięty
media2.Stop();
if (!isPlaying)
{
media.Play();
isPlaying = true;
}
else
{
media.Stop();
isPlaying = false;
}
}
No chyba że jest jakiś wymóg, żeby w takiej aplikacji była tylko jedna kontrolka typu MediaElement, ale tego musisz już poszukać sam na MSDN, bo mi przy szybkim przejrzeniu nic takiego w oko nie wpadło. A swoją drogą, skoro chcesz odtwarzać jeden dźwięk na raz, to dlaczego dodałeś 2 obiekty MediaElement? Nie lepiej dodać jeden i w zależności od klikniętego przycisku ustawiać mu ścieżkę na plik, który ma odtwarzać(chyba za pomocą parametru Source)?
Strona 1 z 1

Zaloguj się
Rejestracja
Pomoc



Wróć do góry
Multi cytowanie