Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du kannst versuchen, ihn in einen Zahlenwert zu konvertieren. Wenn das klappt, ist doch alles in Butter:
int wert = -1;
try {
wert = Int32.Parse(myTextBox.Text);
}
catch(Exception e) {
//Fehlerbehandlung, z.B. leeren der TextBox und einblenden eines Hinweisdialogs
}
Ich spiele mittels diesem Quellcode eine .wav Datei ab.
Code:
[DllImport("winmm.dll")]
public static extern long PlaySound(String lpszFileName, long hModule, long dwFlags);
PlaySound(Application.StartupPath+ "/test.wav", 0, 0);
Nur wird währenddessen das gesamte Programm lahm gelegt, bis der Sound zu Ende abgespielt wurde. Wie kann ich das verhindern? Es sollte auch möglich sein den Sound zu unterbrechen.
Ich würde die Soundausgabe in einem separaten Thread ausführen. So läuft das Programm weiter und den zusätzlichen Thread kannst du "einfach" abbrechen. Wie das in C# genau realisert wird, kann ich allerdings nicht sagen, da ich bisher keine Threads in C# gebraucht habe.
das blockieren kannst Du über einen Thread umgehen. Das unterbrechen wird mit PlaySound nicht gehen, da musst Du dann eine andere Schnittstelle benutzen.
Ob der Sound auch wirklich stoppt wenn der Thread gekillt wird. Da hilft nur ausprobieren. Sollte es aber so sein, erzeugt Du damit aber nur ein instabiles System. D.h. das ist kein guter Ansatz.
Ein "altmodischer" Ansatz wären MCI Kommandos oder alternativ und ein bisschen aufwendiger über DirectX und Filtergraphen.
Bei beiden APIs gibt es Möglichkeiten die Ausgabe zu starten, zu stoppen und weiterlaufen zu lassen.
Am einfachsten wirfst Du mal einen Blick in das DirectX SDK von MS, da sind ein Haufen Beispiele dabei. Sicher auch im Audio Bereich.
Andere Möglichkeiten fallen mir gerade keine ein.
Bzgl. der numerischen Eingabe. Die optimale Lösung besteht darin, die Eingaberoutine des Editfeldes zu überladen und einfach nur die Eingabe von Zahlen, sowie den Vorzeichen zuzulassen. Dann ist sichergestellt das auf jeden Fall nur Zahlen eingegeben werden können.
Hey ich habe hier was gefunden.
C# Source (Player mit Start und Stopp) leider nur für wave Dateien geeignet
Da kannst du sogar die Lautstärke beeinflussen