Laden...

Sound und Videowiedergabe?

Erstellt von Turtle vor 17 Jahren Letzter Beitrag vor 16 Jahren 10.805 Views
Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren
Sound und Videowiedergabe?

Hallo

Wie kann ich mit C# am besten Mp3´s, mpeg, ... widergeben?
Kann man den Windows Mediaplayer irgendwie in seine Form einbinden? Wenn ja wie?

oder gibt es bessere Lösungen zum Beispiel MCI oder DirectX?

Wenn ich z.B.: MCI verwende kann ich ja ein Video über eine PictureBox wiedergeben aber wie kann ich eine Visualisierung so wie beim Mediaplayer wiedergeben wenn ich mp3s abspiele?

kann mir da jemand helfen und mir das erklären was am vernünftigsten ist ?

mfg
Turtle

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

B
92 Beiträge seit 2006
vor 17 Jahren

den Windows media player kannst du als Steuerelement direkt einbinden. ich glaube er ist uner den .NET Elementen dabei.

Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren

Hallo danke für deine Antwort

Ich kenn mich damit nicht wirklich aus kannst du mir das erklären wie das geht? bzw wie ich das dann mit dem musik und video abspielen machen soll

mfg
Turtle

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

36 Beiträge seit 2006
vor 17 Jahren

Du must nur die DLL aus dem Ordner von Windows in das Verzeichniss koppieren in das Programm später kompiliert wird.

Ich hatte mal eine Klasse dafür gefunden und diese mal neu geschrieben.



        private string ms_befehl;
        private bool mb_offen;

        [DllImport("winmm.dll")]
        private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, int bla);

        public MP3()
        {
        }

        //Setter

        //Stop Wiedergabe
        public void SetSchliesen()
        {
            this.ms_befehl = "close MediaFile";
            mciSendString(this.ms_befehl, null, 0, 0);
            this.mb_offen = false;
        }

        //Öffnen der MP3 Datei
        public void SetOeffnen(string s_Dateiname)
        {
            this.ms_befehl = "open \"" + s_Dateiname + "\" type mpegvideo alias MediaFile";
            mciSendString(this.ms_befehl, null, 0, 0);
            this.mb_offen = true;
        }

        //MP3 wiedergeben
        public void SetAbspielen(bool b_abspielen)
        {
            if (this.mb_offen)
            {
                this.ms_befehl = "play MediaFile";
                if (b_abspielen)
                    this.ms_befehl += " REPEAT";
                mciSendString(this.ms_befehl, null, 0, 0);
            }
        }

        //Wiedergabe pausieren
        public void SetPause()
        {
            this.ms_befehl = "pause MediaFile";
            mciSendString(this.ms_befehl, null, 0, 0);
        }

        //Getter

        //Status der Wiedergabe Ausgeben
        public string GetStatus()
        {
            int i = 128;
            StringBuilder sb_Erstellen = new StringBuilder(i);
            mciSendString("status MediaFile mode", sb_Erstellen, i, 0);
            return sb_Erstellen.ToString();
        }


Dann musst du noch die Using System.Runtime.InteropService.

Weitere Optionen sind noch möglich, wie Lautstärke.

MFG Codexzier

Nicht immer hilft Wissen weiter, manchmal muss man einfach daran glauben.

5.658 Beiträge seit 2006
vor 17 Jahren

Original von Codexzier
Du must nur die DLL aus dem Ordner von Windows in das Verzeichniss koppieren in das Programm später kompiliert wird.

Is das legal? 🤔

Weeks of programming can save you hours of planning

183 Beiträge seit 2006
vor 17 Jahren

Das kopieren kannste Dir sparen denn die winmm.dll wird so oder so aus dem windows Verzeichnis gelesen. Also ist die kopierte DLL erstens nicht nur illegal sondern auch völlig unnötig.

Gut Schuß
VuuRWerK 😉

Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren

Hallo
Klingt ja alles nicht so schwer nur wie binde ich die Visualisierung vom Mediaplayer ein bzw das Fenster in dem es angezeit wird?
Und vorallem wie spiele ich Videos ab?

mfg
Turtle

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

183 Beiträge seit 2006
vor 17 Jahren
Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren

Ja über MCI weis ich eh das es geht nur wie mach ich das mim Mediaplayer? Und vorallem wie binde ich vom Mediaplayer das Fenster ein dass ich zum Beispiel die Visualisierung sehe wenn ich MP3s abspiele ?

mfg
Turtle

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren

So ich habe jetzt einmal ein wenig mit MCI herumexperimentiert und es funktioniert recht gut und es ist recht einfach.

1.Nur gibt es auch eine Möglichkeit .ogg Datein abzuspielen? bzw werden eigentlich die Codecs des Mediaplayers genommen?

2.Weiters hab ich bis jetzt noch nicht herrausgefunden wie ich eine Visualisierung darstellen kann wenn ich Lieder abspiele (so wie im mediaplayer).

mfg
Turtle

EDIT: Falls es jemanden interessiert: MCI verwendet die Codecs des Mediaplayers wenn man den passenden Codec hat kann man dann auch OGG files abspielen.

Weis jemand was zu Punkt 2?

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren

So hab da noch eine Frage bezüglich einer Open Methode bei einer MCI Klasse

 
public void Open(string file, string type)
{
	name = file;
        string cmd = "open \"" + name + "\" type " + type + " alias \"" + name + "\"";
	int errCode = mciSendString(cmd, null, 0, IntPtr.Zero);
	if(errCode == 0)
		isOpen = true;
	CheckError(errCode);	
}

ich muss ja beim Open sagen wo ich das Videofile abgespielt haben möchte. nur wie schreib ich das in den String rein wenn ich das ganze in einer Picturebox haben möchte welche sich auf einem Form befindet?

mfg
Turtle

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

Turtle Themenstarter:in
129 Beiträge seit 2007
vor 17 Jahren

Kann mir keiner helfen ?

Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer.

5.658 Beiträge seit 2006
vor 17 Jahren

Doch. Und zwar gleich im zweiten Beitrag 😉

Original von blackbrother
den Windows media player kannst du als Steuerelement direkt einbinden. ich glaube er ist uner den .NET Elementen dabei.

Ist allerdings meiner Meinung nach nur als ActiveX-Komponente verfügbar, bin aber grad zu faul, nachzuschauen. Du brauchst es nur in die Toolbar einzubinden (Rechte Maustaste) und auf dein Formular zu ziehen. Dann kannst du damit einfach deine Videos und MP3s abspielen.

Viele Grüße,
Christian

Weeks of programming can save you hours of planning

R
1 Beiträge seit 2007
vor 16 Jahren

hallo

ich hab eine frage.
ich möchte das anstatt mit dem mediaplayer mit dem vlc machen!
wie geht den dat? ?(
kann mir da jemand helfen?

vielen dank für jede hilfe

R
206 Beiträge seit 2007
vor 16 Jahren

Habe die selbe Frage.... Gehe davon aus keiner weiß was weil keine Antwort gekommen ist...

MfG

2.760 Beiträge seit 2006
vor 16 Jahren

Den VLC kannst du auch einbinden (ActiveX) wie schon beschrieben einfach der Toolbox hinzufügen und auf das Formular ziehen.

Zu der Visualisierung:
Ich bezweifle das du die einfach aus dem Windows Media Player benutzen kannst bzw. das diese beim ActiveX Pendant überhaupt enthalten ist. Wenn du dir so eine Visualisierung nicht selber programmieren möchtest wirst du whol schon auf (meist kommerzielle) Libraries zurückgreifen müssen.

Für die Verwendung der ActiveX controls (VLC und Mediaplayer) wird es sicher eine Doku geben.

PS: Für die Visualisierung könnte das evtl. funktionieren Processing