Bezeichnungen

  • Allgemein

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Bezeichnungen

    Hallo,

    ich muss ich OpenFileDialog einen Filter einbauen nur weiss ich ich nicht wie die Bezeichnung bei AIFF-Audiodateien ist.Bei .mp3 wäre das so:

    VB.NET-Quellcode

    1. .Filter="MP3-Audiodatei (*.mp3)|*.mp3"

    Jetzt muss ich wissen was die Bezeichnungen für .mp1,.mp2,.aiff und .ogg sind.Kann mir da jemand helfen ???


    Gruß Jan :)
    Das stimmt doch...
    Artentuse's Kommentar stimmt. Du musst hald die jeweiligen Filtereinstellungen noch voneinander trennen.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Achso, du meinst den angezeigten Text. Da gibt es aber keine festgelegten Vorschriften, die namen im Explorer werden von irgendwelchen Programmen (entweder Windows selbst oder 3rd-Party-Anwendungen) eingetragen. Schau am besten einfach auf der jeweiligen Homepage des Formats nach, wie es dort bezeichnet wird. Aber grundsätzlich wird jeder wissen, was du meinst, wenn du "blablabla-Audioformat" hinschreibst.
    Theoretisch schon, wenn du z.B. DirectShow verwendest und dir dafür einen eigenen Filter schreibst. Dann kann das aber nur dein Programm wiedergeben und kein anderer player, da es mit VB nicht möglich ist einen Codec (Systemweiten Filter) zu erstellen. Außerdem wird das ganze sehr unperformant sein, da VB nicht für solche Lowlevel-operationen geeignet ist. Einfache Wiedergabe wird zwar, wenn du gut programmierst , noch funktionieren, aber Echtzeiteffekte und dergleichen sind nicht machbar.
    @ Jan5999:, @ Artentus: Der Filter-Parameter des OpenFileDialog ist wesentlich eleganter:
    Filter

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Using dlg As New OpenFileDialog
    3. dlg.Filter = "MP3-Audiodatei|*.mp3"
    4. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. End Using
    8. End Sub
    9. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    10. Using dlg As New OpenFileDialog
    11. dlg.Filter = "Audiodatei|*.mp3;*.mp4;*.wav"
    12. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    13. Return
    14. End If
    15. End Using
    16. End Sub

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Statt

    Artentus schrieb:

    VB.NET-Quellcode

    1. .Filter="MP3-Audiodatei (*.mp3)|*.mp3|MP2-Audiodatei (*.mp2)|*.mp2|OGG-Audiodatei (*.ogg)|*.ogg" 'usw.
    ist nur dies erforderlich:

    VB.NET-Quellcode

    1. .Filter = "MP3-Audiodatei|*.mp3|MP2-Audiodatei|*.mp2|OGG-Audiodatei|*.ogg" 'usw.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Artentus schrieb:

    Außerdem wird das ganze sehr unperformant sein, da VB nicht für solche Lowlevel-operationen geeignet ist.
    Ich habe in meiner Lib auch z.B. einen FLAC-Decoder welcher vollständig in C# programmiert ist. Natürlich verwende ich unsafe doch ich denke man kommt von der Performance her doch recht gut hin. Zusätzlich laufen so viele Echtzeiteffekte(ebenfalls in C# geschrieben), Visualisierungen etc. ohne Probleme bei einer Latenz von 40ms(natürlich alles zu 100% in Echtzeit). Natürlich läuft C/C++ nochmals etwas schneller, doch viel schneller als 40ms schafft man nicht.
    Ach ja: DirectShow, ACM,... ist eher veraltet. Sogar DMO ist schon wieder veraltet. Ich würde da, wenn ich schon einen Filter schreibe gleich eine MFT schreiben.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    @thefiloe
    Offensichtlich hast du recht. Ich hätte das zwar anders eingeschätzt, aber wenn sogar die Entwickler von NAudio das sagen:
    While .NET cannot compete with unmanaged languages for very low latency audio work, it still performs better than many people would expect. On a fairly modest PC, you can quite easily mix multiple WAV files together, including pass them through various effects and codecs, play back glitch free with a latency of around 50ms.