Hurricane

    • Beta
    • Open Source

    Es gibt 596 Antworten in diesem Thema. Der letzte Beitrag () ist von balu000.

      @Radinator

      1.) Also Tracks an einer bestimmten Position hinzufügen?
      2.) Jo, ist leider ein Problem, die Lösung würde das Programm wesentlich langsamer machen. Es kann aber gut sein, dass es mit dem nächsten Update besser wird, weil ich gerade versuche, die Trackliste schneller zu bekommen.
      3.) -> Done
      4.) -> Done

      @thefiloe
      Das wäre auf jeden Fall sinnvoll, ich habe aber leider keine Ahnung, wie ich das anstellen soll... :(

      @ConnyKarras
      Jo, kann ich gerne machen. Ich wollte sowas schon lange mal machen, das Problem ist die Herangehensweise. Was erwartet der Nutzer, wenn er auf "Zurück" klickt? Das der vorherige Track ausgewählt wird oder dass der Track in der Wiedergabeliste vor dem aktuellen Track ausgewählt wird? Naja, ich glaube, du hast mich auf eine gute Idee gebracht (oder die Idee direkt gegeben :) :( Es werden alle Tracks in einer Liste gespeichert, wenn man zurück geht werden alle Tracks aus der Liste von Vorne bis zum aktuellen gelöscht. Wenn die Liste leer ist, gehts in der Wiedergabeliste einen Track zurück.

      @GimpTutWorks
      Erstmal Danke für deine Bemühung :)

      GimpTutWorks schrieb:

      Auch mit dem Update auf meiner Seite noch nicht behoben.

      Ich muss gerade ein bisschen lächeln, denn in dem Video zeigst du, dass es wunderbar funktioniert :D
      Es ist wohl etwas unklar, was mit Spektrum Analysator gemeint ist. Das ist der Spektrum Analysator:



      Wenn sich jetzt jemand fragt, wieso zum Teufel man die Farbe davon ändern sollte: Ich finde es manchmal ganz schön, wenn der Spektrumanalysator in einer anderen Farbe ist (man beachte, dass Hurricane in seiner ersten Version blau mit einem grünen SA war). Und auch schwarz und Rosa passen meiner Meinung nach ganz gut zusammen, weil aber jeder einen anderen Geschmack hat, gibt es diese Eigenschaft.
      Mfg
      Vincent

      VincentTB schrieb:

      1.) Also Tracks an einer bestimmten Position hinzufügen?





      So wie in iTunes denke meinte ich :D
      Bilder
      • insert.png

        5,41 kB, 526×87, 101 mal angesehen
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Radinator“ ()

      Naja ich meine es so wie beim Handy, wenn das Lied schon länger als vielleicht 5 Sekunden läuft (oder timer - aber schlechte idee), dann wird das lied neugestartet, wenn's vor den 5 Sekunden ist dann wird der eine Track (der davor lief) zurückgesprungen oder wenn ich mehrmals Zurück-klicke dann werden die vorherigen abgespielt. Also das kennt doch jeder, da kann man doch einfach beim Start ne Liste erstellen die die ID oder so des Songs sich merkt, das ist deine Entscheidung.
      Auch ohne Begrenzung, d.h. das man theoretisch bis zum Anfang zurück gehen kann ;D

      VincentTB schrieb:

      ich habe aber leider keine Ahnung, wie ich das anstellen soll...

      Du musst nur die Reihenfolge der sourcen ändern. Schaltest den Equalizer vor den SpectrumAnalyser so beeinflusst der Equalizer den SpectrumAnalyser.
      github.com/Alkalinee/Hurricane…usic/CSCoreEngine.cs#L148
      Hier übergibst du dem Equalizer die notifysource. Machst du es umgekehrt und übergibst der notifysource (beim Konstruktor) den equalizer so haste das Problem schon gelöst.
      z.B. sowas:

      C#-Quellcode

      1. ​public void OpenTrack(Track track)
      2. {
      3. if (CurrentTrack != null)
      4. {
      5. CurrentTrack.IsPlaying = false;
      6. CurrentTrack.Unload();
      7. }
      8. if (SoundSource != null)
      9. {
      10. SoundSource.Dispose();
      11. }
      12. track.IsPlaying = true;
      13. SoundSource = CodecFactory.Instance.GetCodec(track.Path);
      14. if (Settings.SampleRate == -1 && SoundSource.WaveFormat.SampleRate < 44100)
      15. {
      16. SoundSource = SoundSource.ChangeSampleRate(44100);
      17. }
      18. else if (Settings.SampleRate > -1)
      19. {
      20. SoundSource.ChangeSampleRate(Settings.SampleRate);
      21. }
      22. Equalizer equalizer;
      23. SimpleNotificationSource simpleNotificationSource;
      24. SingleBlockNotificationStream singleBlockNotificationStream;
      25. SoundSource = SoundSource
      26. .AppendSource(Equalizer.Create10BandEqualizer, out equalizer)
      27. .AppendSource(x => new SimpleNotificationSource(x) {Interval = 100}, out simpleNotificationSource)
      28. .AppendSource(x => new SingleBlockNotificationStream(x), out singleBlockNotificationStream)
      29. .ToWaveSource(Settings.WaveSourceBits);
      30. SetAllEqualizerSettings();
      31. simpleNotificationSource.BlockRead += notifysource_BlockRead;
      32. singleBlockNotificationStream.SingleBlockRead += notificationSource_SingleBlockRead;
      33. analyser = new Visualization.SampleAnalyser(FFTSize);
      34. analyser.Initialize(SoundSource.WaveFormat);
      35. soundOut.Initialize(SoundSource);
      36. track.Load();
      37. CurrentTrack = track;
      38. OnPropertyChanged("TrackLength");
      39. CurrentStateChanged();
      40. soundOut.Volume = Volume;
      41. if (StartVisualization != null)
      42. StartVisualization(this, EventArgs.Empty);
      43. track.LastTimePlayed = DateTime.Now;
      44. }



      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „thefiloe“ ()

      @thefiloe
      So ähnlich habe ich es auch schon mal versucht, ging bei mir aber leider schief, keine Ahnung warum. Vielen Dank :)

      @ConnyKarras
      Okay, also einfach in der Liste zurück. Keine Ahnung, wie ihr das seht, aber mich nervt das immer, wenn ich auf Zurück gehe und der Track einfach nur an den Anfang springt. Dafür reicht ein Mausklick auf die Timeline. Man kann sowas natürlich als Einstellungsmöglichkeit machen, mal gucken :) Aber das mit der Liste wird auf jeden Fall hinzugefügt.

      @Radinator
      Ich weiß leider immer noch nicht, was du meinst. Ich habe mir nochmal deinen ersten Post durchgelesen, und so wie ich das jetzt verstanden habe willst du einfach nur einen einzelnen Track zu der Wiedergabeliste hinzufügen?
      Mfg
      Vincent

      Naja liegt ja in deinem Ermessen, mir gehts hauptsächlich darum das mit der Liste das der Track vorher abgespielt wird. Das mit dem Zurück gehen und der Track fängt von vorne an, ist jetzt auch nicht meins.. ^^ Also kannst das ja als Einstellung machen, aber so wie du willst :D
      Ist das nicht unter Aussehen, bei Design über Farbspektrumanalysator oder wie das hieß? Meinst das? ?(
      @VincentTB
      Ich hab noch eine Idee, das Starten eines Songs außerhalb des Programms, also mit Parametern. Damit meine ich das ich Hurricane als Standard auswähle und das beim Starten eines Songs z.b. auf dem Desktop (beim Doppelklick) dein Programm sich öffnet mit dem "gestarteten" Song

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gelöschter Benutzer“ ()

      @ConnyKarras
      ja des meine ich. Ich meinte auch, dass es schön wäre, wenn man die Farbe individuell "erstellen" kann, wie beim Spek.Analy.

      und ich glaube was du meinst nennt sich kurz "file association".. ja, wäre auch super
      Achja. Wenn ich den github source clone kann ich ihn nicht erstellen :(. Hab immer Fehler im xaml code. z.B. das Zeug aus deinem Extensions namespace.
      Was auch auffällt. Das ausblenden lagt bei mir.
      PS:
      Hab beim ein oder ausfahren irgendwie auf das Fenster geklickt. Was auffällt ist, dass das vor allem dann auftritt wenn ich etwas Suche und keine Ergebnisse vorhanden sind -> die Liste leer ist. Aber nicht immer. Dann beim einfahren. Kommt folgender Fehler:
      Spoiler anzeigen
      Anwendung: Hurricane.exe
      Frameworkversion: v4.0.30319
      Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
      Ausnahmeinformationen: System.ArgumentNullException
      Stapel:
      bei Hurricane.Resources.Styles.DragDropListView.ServiceProviders.UI.ListViewDragDropManager`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_HasCursorLeftDragThreshold()
      bei Hurricane.Resources.Styles.DragDropListView.ServiceProviders.UI.ListViewDragDropManager`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_CanStartDragOperation()
      bei Hurricane.Resources.Styles.DragDropListView.ServiceProviders.UI.ListViewDragDropManager`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].listView_PreviewMouseMove(System.Object, System.Windows.Input.MouseEventArgs)
      bei System.Windows.Input.MouseEventArgs.InvokeEventHandler(System.Delegate, System.Object)
      bei System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
      bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
      bei System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
      bei System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
      bei System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
      bei System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean)
      bei System.Windows.Input.InputManager.ProcessStagingArea()
      bei System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
      bei System.Windows.Input.MouseDevice.Synchronize()
      bei System.Windows.Input.MouseDevice.PostProcessInput(System.Object, System.Windows.Input.ProcessInputEventArgs)
      bei System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(System.Windows.Input.ProcessInputEventHandler, System.Windows.Input.ProcessInputEventArgs)
      bei System.Windows.Input.InputManager.ProcessStagingArea()
      bei System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
      bei System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
      bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions, Int32, Int32, Int32)
      bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef)
      bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
      bei MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
      bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
      bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
      bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
      bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
      bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
      bei MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
      bei System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
      bei System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
      bei System.Windows.Threading.Dispatcher.Run()
      bei System.Windows.Application.RunDispatcher(System.Object)
      bei System.Windows.Application.RunInternal(System.Windows.Window)
      bei System.Windows.Application.Run(System.Windows.Window)
      bei Hurricane.App.Main()

      Zudem hatte ich kürzlich einen Crash durch Ändern der Spektrum-Farbe (nicht aktuelle Version). Und bei der aktuellen Version hat das ausblenden vorhin nicht wirklich funktioniert. Als ich das mit einem gif recorder aufnehmen wollte, wars wieder weg. Beim ausblenden vom Fenster ist es Ruckartig immer halb nach links gefahren, dann dort ne halbe Sekunde pause und dann ganz weg.


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „thefiloe“ ()

      Das Problem damit ist, dass die Designbibilothek des Programms (MahApps.Metro) Themes vordefiniert. Diese habe ich dann einfach erweitert (mit eine dunklere/hellere Farbe hinzugefügt, damit es nicht zu einfarbig aussieht) und als Themes zur Auswahl vordefiniert. Wenn ich also den Benutzer selbst eins designen lassen möchte, müsste ich da (in MahApps.Metro) ein bisschen was umschreiben. Aber abgesehen davon, wie viele Farben kennt ihr, die da nicht zur Verfügung stehen? :D
      ---------------------------------------------------
      Nun gut, könnte man aber mal angehen, wenn mir langweilig ist :) (oder dann halt in den Ferien)

      @ConnyKarras
      Das Ding ist, dass das eigentlich gegen den Sinn des Programms verstößt. Ich habe das auf GitHub extra geschrieben:

      https://github.com/Alkalinee/Hurricane schrieb:

      What Hurricane isn't
      A standard music player. Hurricane is a music player for listen music while you do something.


      Das Problem dabei ist, dass ich es wesentlich angenehmer finde, wenn z.B. VLC media player als Standardplayer agiert, weil der 1. nicht so lange laden muss, 2. eigentlich alle Codecs unterstützt, 3. schneller zu bedienen ist und 4. Hurricane auf Wiedergabelisten basiert, dass heißt entweder muss es dann eine Wiedergabeliste CurrentFiles geben oder ich müsste mein Konzept umwerfen. Ich sehe Hurricane eher als Musik Player, wenn man etwas macht z.B. programmiert, zockt o. ä. Mich hat es schon extrem genervt, als sich irgendein Music Player den ich testen wollte als Standard für alles eingetragen hat und ich keine Ahnung hatte, wie ich VLC wieder dahin bekomme... Desweiteren bräuchte man dann eine Installation, denn sonst wird alles ungültig sobald man das Programm an einen anderen Ort verschiebt. Aber wenn jetzt alle sagen, dass das mega cool wäre, dann könnte ich das auch hinzufügen, wäre kein allzu großer Aufwand.

      @thefiloe

      thefiloe schrieb:

      ​Wenn ich den github source clone kann ich ihn nicht erstellen

      -> Behoben

      thefiloe schrieb:

      ​Das ausblenden lagt bei mir.

      Ich wüsste leider nicht, wie ich das ändern könnte, wenn du oder irgendjemand anders eine Idee hat, nur zu, ich würde mich sehr freuen :) Ich hatte dazu auch schon extra einen Thread auf gemacht: vb-paradise.de/index.php/Thread/107943

      Und oha, das sind eine Menge Probleme :S

      Bei der Spektrumfarbe - keine Ahnung. Ich gehe nicht davon aus, dass es an dem Ändern der Farbe liegt, sondern eher an dem Vorgang, der da noch passiert (es wird die Settingsklasse geklont und dann wieder synchronisiert). Ohne konkrete Fehlerbeschreibung kann ich da leider nicht viel machen... Bei deinem Fehler mit dem ListViewDropManager werde ich mal gucken, dass ich den Fehler verhindere (hatte ich glaube auch schon mal, aber konnte es nie reproduzieren).
      Mfg
      Vincent

      Naja standard mein ich so, da brauchst keine Installation, das ich mit rechtsklick auf ne MP3 gehe und dann auf Öffnen mit klicke... Dann Pfad durchsuchen und dein Programm auswählen, wenn vorher ausgewählt wurde als Standard festlegen, dann passierts automatisch, muss man natürlich nicht.
      Also so mein ich das.

      Also ist deine Entscheidung, nur manchmal durchsuche ich meine Ordner und finde nen Song und hab kein Bock dann erstmal nochmal zu suchen in der liste, da würde ich lieber das ich nur das lied starten muss.
      Naja dein Programm, deine Entscheidung ;)

      Außerdem hab ich so gut wie nur MP3's also das spielt keine Rolle ^^
      @ConnyKarras
      Nur um das richtig zu verstehen: Du möchtest, dass wenn du in einem Ordner eine Musikdatei sieht und sie bereits importiert hast, die irgendwie in Hurricane abspielen ohne sie in der Liste zu suchen?
      Und das über das Kontextmenü mit Öffnen mit. Wenn ich das richtig verstanden habe, super Idee :thumbsup: . Das Problem wäre, wenn der Benutzer diese Datei noch nicht importiert hat. Da könnte man dann ja einen Importieren Dialog hinzufügen, wäre also eigentlich kein großes Problem. Kann ich gerne machen -> Steht auf der ToDo-Liste.
      Mfg
      Vincent

      Naja ich habe meine Musik schön im Ordner sortiert nach Interpret, und manchmal weiß ich nicht mehr wie ein Titel hieß oder ich habe einen Ordner New Songs und anstatt die Wiedergabeliste zu durchsuchen oder so, da kann man eben unter "Öffnen mit.." auswählen mit was ich den Song abspielen möchte, dabei kann ich entscheiden ob ich das Programm gleich als Standard auswählen möchte oder nicht, also brauchst du nichts installieren, Windows macht das alleine ;)
      Also ja soweit hast du das richtig aufgefasst. Du hast doch in der Playlists.xml oder so gespeichert in welchem Pfad der Song ist, wenn er existiert (also übereinstimmt) dann kannst du den Song in der Wiedergabeliste per Index starten, sonst eventuell in einer Extra Liste hinzufügen. Keine Ahnung... ^^
      Dies kannst du ja über StartParameter regeln. Also eig kein Problem :)
      Gibt verschiedene Möglichkeiten, aber am Liebsten so einfach wie möglich :D

      VincentTB schrieb:

      1.) Also Tracks an einer bestimmten Position hinzufügen?


      Ich weiß leider auch ned wie ich es anders formulieren soll. Ich versuchs noch einmal:

      Wenn ich einen Ordner wiedergebe und Lieder A, B, C, D, E, F, G, H habe, und NICHT SHUFFEL mache, spielt er mir ja auch in der Reihenfolge die Lieder ab, wenn ich jetz grad bei Lied C bin, ich mir aber denke, ich will als nächstes aber nicht D sondern F hören, dass ich dann auf Lied F gehe, Rechtsklick->"Als nächste wiedergeben". Dann wird nach ende von Lied C, Lied F abgespielt, und nach Lied F gehts wieder chronologisch weiter (mit E, dann F, dann G und dann H und wieder von vorne)

      Evtl kann wer anders, der das verstanden hat, das nochmal erklären, falls dass immer noch ned verständlich war
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      Hey @VincentTB ,
      super Musikplayer! Er hat eine gute Soundqualität und verbraucht weniger Ressourcen als zum Bsp. WMP (ist vermutlich auch nicht so schwer ^^ ). Die Oberfläche hast du gut hinbekommen. Die Sprachen passen auch. Mir sind allerdings ein paar Dinge aufgefallen:
      1. Wenn man Hurricane rechts andockt ändert sich nicht die Seite des Equalizer-Fensters sprich es ist außerhalb des Bildschirms.
      2. Anscheinend hat Hurricane ein paar Fehler beim Auslesen der File-Länge, zum Beispiel ist in Hurricane ein 3 Minuten Lied plötzlich 8 Minuten lang.
      3. Das Programm stürzt bei mir manchmal einfach ab. Angemerkt sei, dass ich ein Mensch bin der gerne zockt, somit habe ich eine Gaming-Maus auf der ich Tasten zum Pausieren/Abspielen, Nächster Titel und Vorheriger Titel an der Maus(ist eine Sharkoon Fireglider Black). Wenn ich also ab und zu Pausiere und Abspiele stürzt Hurricane ab. Vielleicht liegt es auch an meiner Maus-Software. Bisher hatte ich sowas aber noch nie bei Playern, vielleicht kannste dir des mal angucken ^^
      4. In den Optionen gibt es den Punkt "Sprache" und unten den Punkt "Language". Mir erschließt sich nicht so ganz, warum man dafür zwei Buttons braucht, wo doch beide das selbe tun.

      Aber ansonsten super Arbeit von dir und natürlich von thefiloe.

      LG
      @ConnyKarras

      ConnyKarras schrieb:

      also brauchst du nichts installieren

      Aber so weit ich weiß geht das doch über einen Eintrag in der Registry, oder? Und der erfordert einen absoluten Pfad, also darf man das Programm danach nicht mehr verschieben -> Sinn einer Installation. Aber ist ja auch egal, ich guck mir das auf jeden Fall mal an.

      @Radinator
      Ok, D'accord. Also quasi einfach eine Warteschlangenliste. -> Steht auf der ToDo-Liste

      @ChOoSeMyNaMe
      Danke, nie vergessen, dass alles was mit der Audioqualität (und generell mit Audio) zu tun hat, thefiloe zu verdanken ist :)
      1. Jo, habe mir auch schonmal überlegt, ob man das mal verändern könnte :)
      2. Das kann ich schön zu thefiloe schieben :D (outplayed, outsneaked and outsmarted)
      3. Das liegt definitiv an deiner Maussoftware, direkt weg damit und das gleiche gilt für die Maus. Spaß beiseite, nächste Version gibts Exceptionless (ein System, um Fehler gescheit zu reporten, weil damit kann ich leider nicht viel anfangen, weil es 100^10x99 mögliche Fehlerquellen gibt)
      4. Wieso einen Button, wenn man zwei haben kann?
      Stell dir mal vor, du stellst auf eine Sprache um, die du nicht kannst, und das Einstellungsfenster schließt sich. Viel Spaß beim suchen der Sprache. Da ist es doch ganz schön, wenn ein Button immer Englisch ist und noch besser, wenn dieser Button die Aufschreift "Languages" hat :D
      Mfg
      Vincent

      Nein ich hab jetzt ein kleinen Film gedreht, kennt doch eig jeder was ich zeige. Du musst nur die entsprechenden Parameter bei dem Start deines Programms programmieren, Windows erledigt den Rest ;)
      Hier als Beispiel:
      Spoiler anzeigen
      Dim startargumente() As String = Environment.GetCommandLineArgs()
      MessageBox.Show(startargumente(1))


      Hier das Video (DropBox): dl.dropboxusercontent.com/u/59…e_2014-12-11 18.58.24.wmv

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gelöschter Benutzer“ ()

      VincentTB schrieb:

      2. Das kann ich schön zu thefiloe schieben (outplayed, outsneaked and outsmarted)

      Wenn, dann brauche ich die Datei. Kann bei VBR Dateien vorkommen. Da kannste aber nicht wirklich viel gegen machen. Ansonsten schiebe ich das weiter an @microsoft ;). Die Decoder basieren in den meisten Fällen auf Microsoft-Decodern (da sind schon Lizenzen usw. enthalten - z.B. mp3 lizenz kostet ansonsten recht viel).


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.