Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von SGT_BOB
Thema: [Tutorial] Audio- und Videowiedergabe mit MCI
Am im Forum: Artikel

Hi maxE.

Erst mal danke für die Antwort. Aber dein Beispiel funktioniert ja. Ich öffne das selbe MP3-File. Beim Beispiel-Programm funztes, bei meinem bekomme ich einen Fehlercode (263, glaub ich) zurück.

Noch irgendeine Ahnung?

Mfg SGT_BOB



EDIT:

Hat sich gerade erledigt. Ich weiß zwar nicht wieso, aber ich habe es jetzt geschafft. Danke trotzdem.

Thema: [Tutorial] Audio- und Videowiedergabe mit MCI
Am im Forum: Artikel

Hallo Leute.

Ich hab ebenfalls eine Frage.

Ich setze mit


			mciCommand = "set \"" + currentTrack + "\" time format ms";
			mciErrorCode = mciSendString(mciCommand, null, 0, IntPtr.Zero);

das Zeitformat auf Millisekunden
und lese mit


		private string GetLength()
		{
			Console.WriteLine(currentTrack);

			StringBuilder buffer = new StringBuilder(256);
			mciCommand = "status \"" + currentTrack + "\" length";
			mciErrorCode = mciSendString(mciCommand, buffer, 256, IntPtr.Zero);
			return buffer.ToString();
		}

die Länge des Tracks ein.

Leider ist der zurückgegebene String leer ("").
Weiß jemand wieso? Ich hab es genau wie in dem Beispiel im Anhang. Dort funktioniert es auch wunderbar.

Was mach ich falsch?

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore.

Nee, genau das meinte ich. Aber AudioVideoPlayback z.B. bietet eine Audio.FromUrl-Methode an. Leider funktioniert diese nicht auf der weiter oben genannten Url.

Eine Url wie "http://radioserver.de/musik.mp3" wird problemlos abgespielt. Da dort der direkte Zugriff auf das File gegeben ist. Wie gesagt eine Url wie "http://64.236.34.4:80/stream/1039" bietet mir leider keinen direkten Zugriff auf ein File, sondern sendet mir bei richtiger Anfrage nur den entsprechenden Stream, den ich selbstverständlich in ein File umleiten kann. Doch AudioVideoPlayback oder auch MCI bieten von sich aus keine Möglichkeiten diesen Stream direkt abzuspielen.

Vielleicht hat da einer eine Idee. Vielleicht weiß sogar jemand wie zum Beispiel Winamp das macht.

Mfg SGT_BOB

PS: Die Methode mit den verschiedenen Temp-Files wäre auch machbar. Werde ich auch nochmal überdenken. Aber trotzdem würde ich gerne wissen ob und wie das anders geht.

//EDIT:

FileShare.ReadWrite funzt leider auch nicht. Keine Ahnung warum. Hab aber schon alles durchprobiert. MCI hat Probleme mit einem zum schreiben geöffneten File.

Thema: Registrywerte exportieren/sichern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Meines Wissens nach geht das.

Haste dich schonmal mit der Microsoft.Win32.Registry - Klasse rumgeschlagen???

Eigentlich sollte es damit funktionieren. Schau mal in die Doku.

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

OK, dann hab ich es also doch (fast) richtig verstanden.

Ich hätte da noch eine Frage zu der Möglichkeit ein File direkt über die URL abzuspielen.

Ich bekomme aber leider nix im Format "http://radioserver.de/musik.mp3" aus den Metadaten des Radioservers. Irgendwo muss aber dieses File rumfliegen, sonst könnte es ja nicht abgespielt werden.

Irgendeine Idee???

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Entweder bin ich echt zu blöd oder ...

OK. Jetzt mal langsam.

Ich kapier das nicht so ganz:

Zitat
Ist:

Byte[] ---> "CoolSound.mp3"


Soll:
Byte[] ---> "CoolSound.mp3"

zusätzlich

Byte[] "1" --> 1.mp3 (100 KB)
Play "1.mp3"
Byte[] "2" --> 2.mp3 (100 KB)
Play "2.mp3"
..
..
..

Soll ich den Stream gleichzeitig abwechselnd in zwei weitere temporäre Dateien umleiten und dann immer das andere nach und nach abspielen lassen.

Sorry das ich mich so doof anstelle, aber ich hänge jetzt schon solange an dieser einen Stelle.
Zitat

.... bei der Widergabe mit MCI ist es ja auch möglich eine Benachrichtigung zu erhalten wenn das eine File fertig gespielt ist ... dann sofort den nächsten Teil des Sounds starten.

Weißt du evtl. auch wie ich diese Nachricht erhalte?

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Programmierhans.

OK. 1. Lösung war schnell probiert (hatte es glaube ich auch schon mal) aber hat leider nicht geklappt.

Leider weiß ich mit deiner Alternativ-Lösung nix anzufangen. Wie soll das denn mit dem Queueing aussehen. Sorry aber ich stehe etwas auf dem Schlauch.

Mfg SGT_BOB

//edit:

Falls das noch unklar ist, mein Programm ist selbst der Player (oder sollte es zum mindest sein )

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Erst mal danke für die schnelle Antwort.

Das Problem bei dieser Methode wäre aber, wie soll ich diese abspielen.

Momentan läuft es so: Ich erstelle eine Datei, diese wird in einer Schleife über den Stream gefüllt. Sobald die Datei erstellt ist und ca. 100 kb groß ist wird versucht über eine der oben genannten Methoden, diese abzuspielen.
D.h. ich starte das Abspielen ja nur einmal !!!

Wenn ich richtig verstanden habe, soll ich also eine temporäre Datei erstellen. Diese soll dann innerhalb meiner Schleife aktuallisiert werden. Die temporäre Datei wird also dann während des Abspielens ersetzt, was ja beinhaltet, daß sie erst gelöscht wird und dann neu erstellt.

Ich weiß nicht recht wie das funktionieren soll. Vielleicht hab ich dich auch nicht richtig verstanden.

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Leider hänge ich noch immer an dem Problem.

Ich bekomme selbst keinen Zugriff auf die zum schreiben geöffneten Dateien. Habs per AudioVideoPlayback, MCI und auch über die QuartzTypeLib versucht.

Wie oben im Code schon gezeigt, habe ich den Zugriffsmodus auf "FileShare.Read" gesetzt. Eigentlich sollte das doch auch richtig sein. Leider bekomme ich außer mit dem VLC-Mediaplayer mit keinem anderen Player Zugriff auf eine zum schreiben geöffnete Datei. Ich bekomme nur eine Fehlermeldung, daß ein anderer Prozess auf diese Datei zugreift und sie deswegen nicht geöffnet werden kann.

Weiß evtl. jemand Rat oder vielleicht sogar wie der VLC-Player die Daten liest.

Mfg SGT_BOB

Thema: TCPChannel Problem
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi FireballGFX.

Zitat
Komisch, dass man manche Sachen einfach per using benutzen kann und manche wiederum so eingebunden werden.

Wenn du unter VisualStudio ein neues Windows Forms Projekt erstellst, werden bestimmte Klassen automatisch mit eingebunden (z.B. System, System.Windows.Forms, usw...)
Also ist das keineswegs komisch. 8)

Aber es freut mich dir geholfen zu haben.

Mfg SGT_BOB

Thema: Aus String Leerzeichen und Trennzeichen löschen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@Flash Gordon:

Ich glaube für sein Vorhaben ist String.Split weniger geeignet, da er einfach nur Zeichen aus dem String entfernen möchte. Er möchte die String nicht aufteilen. Zum mindest hab ich das so verstanden.

//EDIT:

den String, nicht die String

Thema: Aus String Leerzeichen und Trennzeichen löschen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo James72.

"String.Trim()" schneidet dir vor und hinter dem String eventuelle Leerzeichen ab.

Willst du Zeichen aus dem String entfernen dann so:

 
string blabla = "Hurra, ich leben noch";
blabla.Replace(" ", ""); // nimmt alle Leerzeichen raus
blabla.Replace(",", ""); // entfernt alle Komma-Zeichen

Alles klar?


Mfg SGT_BOB

Thema: TCPChannel Problem
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo FireballGFX.

Versuch doch mal direkt ein Objekt anzulegen:


class tralala
{
System.Runtime.Remoting.Channels.Tcp tcp;

public tralala()
{
tcp  = new System.Runtime.Remoting.Channels.Tcp(blablabla);
}
}

Vielleicht hast du auch vergessen eine Referenz hinzuzufügen. "Add Reference..."(System.Runtime.Remoting) Findest du im Projektexplorer (rechte Maustaste)

Kann hier leider nur vermuten da ich nicht mit .Net2.0 arbeite. Somit kenne ich auch die Klassen nur begrenzt.

Mfg SGT_BOB

Thema: DLL-Funktionen nutzen
Am im Forum: Rund um die Programmierung

Hallo taaz.

In wie fern ansprechen?

Wenn du einfach nur einige Daten der Hardware möchtest, dann wäre WMI eine Möglichkeit. Für einige Dinge stellt auch das Framework selbst einiges zur Verfügung.

Falls du systemnah programmieren möchtest (Hardware-Treiber oder so), wirst du wohl auf eine andere Sprache umsteigen müssen (C/C++)

Hier mal der Link zu WMI auf MSDN.

Such mal hier im Forum oder bei Codeproject nach WMI, dort wirst du einige gute Tutorials für den Einstieg finden.

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore.

Wie genau sollte das denn aussehen?

Habs momentan so:



private void RipStream()
{
...
byteOut = createNewFile(destPath, fileName);  // FileStream zum schreiben in Datei
Console.WriteLine("Aktuell gespielt: " + currentTrack); // Ausgabe zur Kontrolle
Microsoft.DirectX.AudioVideoPlayback.Audio.FromFile(currentTrack ,true); // Abspielen von currentTrack
...
}

private FileStream createNewFile(String destPath, String filename)
{
...
currentTrack = destPath + filename + ".mp3";  // string (Bsp.: "D:\TestStream\track.mp3")
return new FileStream(destPath + filename + ".mp3", FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read);
...
}

Der Rückgabewert meiner Funktion ist also ein FileStream. Das schreiben funktioniert auch aber wie gesagt, mit dem Lesen haperts. Vielleicht mach ich was falsch?

currentTrack speichert, laut Console-Ausgabe, auch den korrekten Pfad und Titel des Tracks, der gerade geschrieben wird.

Aber per "Microsoft.DirectX.AudioVideoPlayback.Audio.FromFile(currentTrack ,true);" kann ich einfach nicht darauf zugreifen. Gebe ich einen Namen von einem fertigem MP3-File mit, funzt es.

Weiß nicht mehr weiter.

Mfg SGT_BOB

Thema: MP3 Stream in Datei und gleichzeitig hören
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Leute.

Sorry für den ungewöhnlichen Titel. Aber genauso ungewöhnlich ist auch mein Problem.

Habe es jetzt geschafft, einen MP3-Stream aus dem Internet zu streamen und in eine Datei zu schreiben. Wenn diese Datei zu Ende geschrieben ist, kann ich diese auch anhören. Aber solange in die Datei geschrieben wird bekomme ich weder über MCI noch über AudioVideoPlayback einen Zugriff darauf.

Kann es sein das die Datei während des Schreibvorgangs gesperrt wird.

Vielleicht gibt es auch noch eine andere Möglichkeit.
Der Stream wird per HttpWebRequest und HttpWebResponse geholt. Es besteht kein direkter Zugriff auf eine Datei (z.B. www.musik.de/lied.mp3).
Welche Möglichkeit gibt es den MP3-Stream direkt zu spielen? (Stream nicht Datei)

Mfg SGT_BOB

Thema: Wie kann man die Daten einer Netwerkverbindung auslesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo LastGentleman.

Du könntest es mit WMI versuchen:

Entweder

Win32_NetworkAdapter

oder

Win32_NetworkAdapterConfiguration

Sollte eigentlich klappen.

Mfg SGT_BOB

Thema: Nützliches Tool zum Auflisten von Ordnergrößen
Am im Forum: Projekte

Hi Dan.

Cooles Tool. Kann man immer mal gebrauchen. Weiter so.

Mfg SGT_BOB

Thema: Bootstrapper
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore.

Das ging nicht wirklich daraus hervor.

Aber wir wollen mal nicht kleinkariert sein. 8)


Mfg SGT_BOB

PS: Ich finde es trotzdem toll.

Thema: Bootstrapper
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

schön für dich

Aber was soll dieser Post ???

Mfg SGT_BOB

Thema: Dial-up Verbindung auflisten
Am im Forum: Rund um die Programmierung

Hallo knopper.

Also was genaues kann ich nicht sagen, wie schon erwähnt, mach ich das auch noch nicht so lange.

Aber die MAC-Adresse könntest/solltest du über Win32_NetworkAdapter --> MACAddress bekommen. Schließlich ist ja auch dein Modem ein Netzwerkgerät. Mit der richtigen MAC-Adresse kann daran liegen das du evtl. noch ein anderes Netzwerkgerät (NW-Karte, oder so) eingebaut hast und dessen MAC bekommst. Bin mir aber nicht sicher.


Den Namen der Verbindung könntest du evtl. mit Win32_NetworkConnection

Es gibt bei MSDN zwei Kategorien von den benutzten Win32-Klassen:
1. Computer System Hardware Classes (für allgemeine Hardware-Dinge)
2. Operating System Classes (alles was dein System angeht, in Bezug auf dein OS, also in deinem Fall den Verbindungsnamen)

Wie gesagt bin ich auch erst WMI-Anfänger, aber ich bin mir sicher das wie oben beschrieben funktioniert. Nur nicht kleinkriegen lassen.

Mfg SGT_BOB

Thema: WebTV1: Web-TV-Player, TV-Streams im Web
Am im Forum: Projekte

OK. SGT_BOB ist angemeldet.

Guckst du hier.

Mfg SGT_BOB


EDIT:

Ich meine mit Forum das Unterforum Test, also nicht falsch verstehen.

Thema: WebTV1: Web-TV-Player, TV-Streams im Web
Am im Forum: Projekte

Hallo dr4g0n76.

Mir ging es einfach nur um die Links. Hab aber mittlerweile auch ein paar Sachen gefunden. Google war mein Freund.

zu Forum:
OK. Ich stell die Fragen, du beantwortest sie.
Nö, mal im Ernst. Ich kann dir diese Frage so nicht beantworten, da ich mich selber mit dem Thema noch kaum auskenne. Ich weiß also noch nicht im entferntesten, was da alles dahinter steckt.
Mehr Leute hab ich nicht. Aber das Interesse kommt mit der Information, bzw. der Appetit beim Essen.

Mich würde aber schon interessieren wie das mit den Live-Streams so funktioniert.
Ganz allgemein.

Mfg SGT_BOB

Thema: Wie verarbeitet Winamp *.pls-Files
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore.

Wenn ich dich richtig verstanden habe, heißt das eine Anfrage über HttpWebRequest zu starten. Ist "WinampMPEG/2.9" der UserAgent-String von Winamp oder war das jetzt wirklich nur ein Beispiel. Wie kann ich den ansonsten rausbekommen?

Fragen über Fragen.

Mfg SGT_BOB

Thema: Wie verarbeitet Winamp *.pls-Files
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore.

Danke für deine Antwort.
Da unter der oben genanten URL ja keine Datei direkt angesprochen wird, dürfte es mit AudioVideoPlayback von DirectX wohl etwas schwieriger werden. Oder?
Soweit ich es verstanden hab, kann man nur folgendes direkt öffnen:http://iregendeinserver.com/lied.mp3.

Falls das so ist, werd ich mir mal MCI anschauen, hab da schon mal was rumprobiert.

Mfg SGT_BOB

Thema: Wie verarbeitet Winamp *.pls-Files
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Leute.

Mich interessiert wie Winamp z.B. folgendes *.pls-File verarbeitet.


[playlist]
NumberOfEntries=1
File1=http://xxxxxx.homedns.org:8000/

Wird über die URL ein Stream gestartet oder wie läuft das ab?
Ich würde diesen Stream gerne selber abspielen.

Vielleicht kennt sich ja jemand damit aus. Hab über die Boardsuche nix gefunden was mir helfen könnte.

Ein kleiner Tip oder ein Link würden schon reichen. (hoffentlich :D)

Mfg SGT_BOB

Thema: WebTV1: Web-TV-Player, TV-Streams im Web
Am im Forum: Projekte

OK... ich formulier meine Frage mal etwas anders. 8)

Wo hast DU die Links her? Das sie in deinem Programm zu finden sind, konnte ich mir schon fast denken (aber nur fast :D)

Wie kommt man ganz allgemein an solche Streams, gibt es da irgendwelche Listen oder sowas??? Wenn ja welche ???

zu deinem Programm:
Soweit ich es verstanden hab, brauche ich dafür die verschiedensten Player um dein Programm zu nutzen. (Verbesser mich) Hab aber nicht alle installiert und hab es auch nicht vor.

Mfg SGT_BOB

-=EDIT=-

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in system.windows.forms.dll

Additional information: Klasse nicht registriert


Hmm... Wenn ich meinem Debugger glauben schenken kann, dann kommt der Fehler hier: System.Windows.Forms.AxHost.CreateInstance

Thema: Dial-up Verbindung auflisten
Am im Forum: Rund um die Programmierung

Jepp, das kenn ich. Das heißt dann soviel das für dieses Gerät (in deinem Falle das Modem) die "Availability" nicht existiert.
Hab ich auch mit dem BIOS (z.B.).

Dadurch versuchst du "nichts" zu referenzieren, also auf "nichts" zu zeigen. Brauchst du aber auch nicht unbedingt. Lass diese Eigenschaft einfach mal weg.

Ich hab schon mit vielen solchen Dingen zu tun gehabt.

Den Namen solltest du aber auch über WMI herausbekommen.
"Caption" oder "Name", evtl. auch Description. Wirste wohl mal etwas herumprobieren müssen.

Mich würde aber mal interessieren, ob denn alles andere so funktioniert, was du da vorhattest.

Mfg SGT_BOB

Thema: Job-Börse
Am im Forum: Wünsche und Kritik

@ alexander:

Das ist doch mal ein Wort.

Mfg SGT_BOB

Thema: Job-Börse
Am im Forum: Wünsche und Kritik

@ herbivore:

Ich wollte auch mit meiner Aussage auch niemanden angreifen. 8)


@ all:

Wegen der Unseriosität: Man muss die Angebote schon selber prüfen. Das kann niemand einem abnehmen. Wenn man auf so ein Angebot reinfällt, hat man eben Pech gehabt. Ich sehe natürlich auch nur subjektiv die Vorteile, für mich und für andere Jobsuchende. Aber teilt mir bitte auch die Nachteile mit, die in euren Augen eine solche Rubrik mit sich bringt.

Wie ihr in den zwei Postings im "Rund um die Programmierung -Forum" seht, lassen sich Firmen davon eh nicht abhalten, ob nun seriös oder nicht.

Mfg SGT_BOB