Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » C# Media Player Problem » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C# Media Player Problem
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

C# Media Player Problem Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
ich habe folgenden Code geschrieben:

code:
1:
2:
3:
4:
5:
private void btnStop_Click(object sender, EventArgs e)
{
              MediaPlayerVerbindung aVerbindungsObjekt = new MediaPlayerVerbindung();
              aVerbindungsObjekt.StoppePlayer();
}


und in der Klasse MediaPlayerVerbindung dann folgenden:

code:
1:
2:
3:
4:
public void StoppePlayer()
{
              aPlayer.Stop();
}


wobei a Player so definiert ist:

code:
1:
MediaPlayer aPlayer = new MediaPlayer();


Mein Problem dabei: Wenn ich auf den Button Stop klicke, funktioniert das Unterbrechen der Medienwiedergabe nur manchmal. Woran kann das liegen? verwirrt



Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
20.04.2013 19:48 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

Mediaplayer ist doch Teil eines WPF-Forms, oder? Wenn Du versuchst einfach nur einen beliebigen Mediaplayer außerhalb deiner Anwendung fernzusteuern versuchst, wundert mich, dass es überhaupt funktioniert...

Ansonsten musst Du schon mit einer Referenz auf den verwendeten MP arbeiten und nicht mit new Mediaplayer einfach ein neues Mediaplayer-Objekt erzeugen...

VG,

Karlito
21.04.2013 15:48 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein, es ist in diesem Fall einfach Teil einer normalen Windows Forms Anwendung. Mit den Verweisen auf Presentation Core und Windows Base. Funktioniert sonst einwandfrei bis eben auf den genannten Makel, dass es mal funktioniert und mal eben nicht...

geschockt

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von InformaTiger: 26.04.2013 22:45.

22.04.2013 17:16 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Um nochmals auf das Problem zurückzukommen, bei folgendem Code:

code:
1:
2:
3:
4:
5:
private void tkBarVolume_ValueChanged(object sender, EventArgs e)
{
              MediaPlayerVerbindung aVerbindungsObjekt = new MediaPlayerVerbindung();
              aVerbindungsObjekt.aPlayer.Volume = tkBarVolume.Value;
}


funktioniert das leider auch nicht. Also da muss irgendetwas an der Objektsetzung oder so faul sein...

Die markierten Elemente funktionieren nicht (der Stop- Button wird erst aktiviert sobald "Ganzen Titel wiedergeben" geklickt wird, aber genau da funktioniert er leider nicht)

verwirrt

Lg
InformaTiger

InformaTiger hat dieses Bild (verkleinerte Version) angehängt:
infoboard.png



__________________
Why do Java developers wear glasses? Because they can't C#
29.04.2013 19:03 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie Karlito schon sagte: du erzeugst ein neues Objekt, das von deinem ersten Mediaplayer nichts weiß, wie soll das dann die Wiedergabe stoppen/die Lautstärke ändern?

Um sagen zu können, wie es richtig geht, musst du schon etwas mehr Code zeigen.
Aber du wirst an irgendeiner Stelle haben
MediaPlayerVerbindung bla = new MediaPlayerVerbindung();
bla.Play();
dann musst du auch machen
bla.Stop();
statt einen neuen Player zu erzeugen.

__________________
Syntax Highlighting fürs Board (Link)
29.04.2013 19:56 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, hab ich versucht.
Hat funktioniert... smile

Das Problem war eben dass durch das Objekt ein neuer Player erstellt wurde anstatt der alte Player gestoppt.

Die Lösung dazu war dann den MediaPlayerVerbindung's Code auf die normale Main - Form in der das ganze Programm abläuft zu übertragen. Seit da funktionierts.

großes Grinsen

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
03.05.2013 18:10 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was ich allerding noch nachfragen wollte:

Ist es also nie möglich aus einem andern Code einen Player Fernzusteuern? Weil im groben wollte ich den Code des MediaPlayers von dem der Main - Form trennen... verwirrt

Danke. Daumen hoch

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
03.05.2013 18:16 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

Du könntest versuchen, den Mediaplayer mit Tastenkombinationen zu befeuern. Ich denke dazu muss das Fenster aktiviert werden und danach müssen die Tastenkombinationen simuliert werden. Gemacht habe ich soetwas noch nicht und ich weiß auch nicht inwieweit soetwas noch möglich ist.
Ich kann mir vorstellen, dass das von Windows nicht (mehr) zugelassen ist, da es ein Sicherheitsrisiko darstellt.
Wenn ich dazu komme werde ich morgen mal ein wenig googeln.

VG,

Karlito
04.05.2013 00:44 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Airblader Airblader ist männlich
Doppel-As


Dabei seit: 03.03.2013
Beiträge: 138
Herkunft: München

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Möglich ist sowas schon, auch abseits von Tastenkombinationen. Wenn du besagtes anderes Programm aber nicht selbst geschrieben hast, d.h. keine entsprechende Schnittstelle zur Verfügung stellen kannst, bewegst du dich schnell im Bereich von "Hacks".

Ein gutes Beispiel ist Minesweeper unter Windows. Es gibt Bots, die wie ein Mensch einfach strategisch spielen (d.h. sie können nur sicher gewinnen, wenn das Spiel nicht vom Glück abhängt) und die Maus programmatisch bedienen.
Andere Bots wiederum lesen den Speicher des Programms aus und manipulieren ihn, d.h. sie gewinnen auch dann, wenn das Spiel nur mit Glück lösbar wäre.

Solche Dinge sind prinzipiell auch für deinen Playerr denkbar, wenn man z.B. den Speicher manipuliert. Das sind aber schon echt fortgeschrittene Methoden, die auch weit abseits jeglicher "Best Practices" liegen (man spielt nicht mit dem Speicher anderer Anwendungen, wenn diese dafür keine Schnittstelle zur Verfügung stellen).

Letztlich kenne ich mich damit aus alten Zeiten auch nur sehr, sehr oberflächlich aus. Sollte nur als Zusatzinformation dienen, zu empfehlen ist dieser Weg definitiv nicht.

__________________
The best thing about a boolean is that even if you're wrong, you're only off by a bit.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Airblader: 04.05.2013 13:44.

04.05.2013 13:43 Airblader ist offline Beiträge von Airblader suchen Nehmen Sie Airblader in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich stimme Airblader zu. Weiterhin sind bei modernen Betriebssystemen die Speicherbereiche von Programmen voneinander getrennt. Das geht so weit, dass jedes Programm normalerweise denkt, dass es den gesamten Hauptspeicher für sich hat. Ein Zugriff auf den Speicher eines anderen Programmes wird normalerweise vom Betriebssystem verhindert und ist nur mit sehr speziellen Mitteln und erweiterten Rechten, die wie Airblader schon sagt als Hacks gelten, möglich.

Die Verwendung von von Tastenkombinationen ist hier noch das einfachste. Das Manipulieren des Speichers oder Aufrufen von Funktionen innerhalb anderer Programme übersteigt auch meine Kenntnisse um Weiten.

VG,

Karlito
04.05.2013 14:21 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Okay.
Dankeschön.

Ich werde das dann mal lieber unterlassen das mit "Hacks" und so ist dann wircklich nicht meine Sache...

großes Grinsen

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
05.05.2013 14:20 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

ich weiß nicht ob dir das passt, aber du kannst ja in einem Programm auch mehrere Fenster erstellen. So könntest du auch ein Mediaplayer-Fenster und ein Steuerfenster erstellen. Vlt reicht das schon?

VG,

Karlito
05.05.2013 14:36 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du meinst es soll ein MDI- Container werden?

Edit: Oder ne neue Form?

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von InformaTiger: 05.05.2013 17:28.

05.05.2013 14:39 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Neues Form war gemeint.
05.05.2013 17:31 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » C# Media Player Problem