Sounds aus mp3/wav in Line-IN ausgeben anstatt von Mikrofon

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Nitro-X.

    Sounds aus mp3/wav in Line-IN ausgeben anstatt von Mikrofon

    Hallo liebe Programmierkollegen,

    ich würde gerne eine MP3/wav über den LINE-IN Eingang eingeben, so dass diese z.B. in Skype, Teamspeak, SIP-Telefonat gehört werden kann. Ich programmiere mit VB Express 2010. Ich habe zwar viele Tutorials gefunden wie z.B. Line-IN Sounds aufgenommen werden, jedoch bisher keins wo Audiosignale eingespeißt werden. Habt ihr vielleicht eine Idee, wie man diese umsetzen könnte?

    Vielen Dank für eure Ideen

    Beste Grüße
    GELATO
    Soundausgabe über LINE-IN wird nicht funktionieren, da LINE-IN nur für den Soundeingang von einem Mikrofon ist.

    Eine Soundausgabe über My.Computer.Audio.Play() (für WAV) System.Media.SoundPlayer (siehe folgenden Beitrag) sollte da reichen und dann muss bei Telefonaten eigentlich nur Computersounds aktivieren.

    Luki-Progger schrieb:

    My.Computer*
    Nope.

    My.Computer
    Yes!
    Hast du auch nur einen einzigen Grund, wieso man zum abspielen einer einfachen wav-Datei nicht darauf zugreifen sollte? Was habt ihr alle gegen My.Computer? Ich habe langsam das Gefühl, ihr geht einfach mit dem Mainstream. Ich glaube in erster Linie Löffelmann, und der spricht sich klar für den My.Namespace aus:

    Klaus Löffelmann schrieb:

    Es gibt exklusiv in Visual Basic 2005 einige Hilfsmittel (man könnte sie pessimistisch betrachtet auch
    als »Eigentümlichkeiten« bezeichnen), die auf den ersten Blick das OOP-Konzept des .NET Framework zu umgehen scheinen. Es gibt obendrein einige Dinge, bei denen OOP-Puristen den
    VB6lern der alten Riege vorwerfen, man hätte die neuen Hilfsmittel in VB 2005 eigentlich nicht implementieren dürfen, weil es VB2005 wieder zurück in den Pool der »Baby-Programmiersprachen«
    wirft, und – Zitat – »man dürfe die Blödheit oder Sturheit der prozeduralen Fraktion nicht noch
    unterstützen«.
    Ich gebe zu, ich sah mich eine Weile mehr in der letzteren Fraktion der OOP-Puristen als in der, der
    alten prozeduralen VB6-Riege. Und auch ich wollte nicht, dass mein schönes neues jetzt endlich auch
    erwachsenes VB.NET durch »nachgemachte« VB6-Features aufgeweicht und der Ruf »meines« VB
    2005 dadurch vielleicht wieder angeknackst wird – Visual Basic hatte (und hat!) es schließlich in
    bestimmten Gemeinden eh schwer genug, sich als professionelle Programmiersprache zu etablieren.
    Doch wissen Sie was: Diese ganze Diskussion ist eigentlich völlig überflüssig, und mit den folgenden
    Argumenten werde ich bewusst wahrscheinlich für Umsatzeinbußen in so manchen Kneipen sorgen,
    in denen Diskussionen über exakt dieses Thema geführt werden, denn:
    OOP-Puristen, lasst euch gesagt sein: Visual Basic hat all das, was zum OOP-Programmieren benötigt
    wird. Und ich persönlich, der ich in C# und Visual Basic 2005 eigentlich gleichermaßen gut zu Recht
    komme, programmiere in VB2005 lieber, weil meiner Meinung nach Visual Basic-Editor und -Background-Compiler ein schnelleres und effizienteres Arbeiten als die C#-Äquivalenten gestatten. Wenn
    ihr Funktionalitäten, die in diesem Buchteil besprochen werden, wie beispielsweise das Anwendungsframework oder den My-Namespace nicht nutzen wollt – niemand wird dazu gezwungen! Macht euch
    die Arbeit halt schwerer, als sie sein müsste, und braucht dann eben länger zum Ziel.
    Euer Hauptargument, dass für die Vereinfachung Komponenten verwendet werden, die eigentlich
    nicht zum .NET-Framework gehören, ist – mit Verlaub gesagt – ziemlicher Unsinn. Die VisualBasic.dll ist Bestandteil des Frameworks, und alle Vereinfachungen, mit denen wir vielleicht auch die
    »alten« VB6ler überzeugen könnten, bei »uns mitzumachen«, sind dort implementiert. Und wenn ihr
    sagt, ihr wollt auf diese Vereinfachungen verzichten, weil ihr Gerüchten glaubt, die sagen, dass diese
    Visual Basic-eigenen Dinge in Zukunft aus dem Framework verbannt werden, dann dürft ihr übrigens gar nicht mehr in Visual Basic programmieren. Denn, und das ist wichtig: Ohne die VisualBasic.dll läuft überhaupt kein Visual Basic-Programm, egal welchen Ansatz (einfach oder .NET-puristisch) ihr verfolgt oder welcher Komponenten aus dem Framework ihr euch bedient. Und wenn
    ihr wisst, dass die VisualBasic.dll erstens sowieso genauso zentraler Bestandteil des Frameworks ist,
    wie alle anderen .NET-Assemblies und sich zweitens diese Vereinfachungen wie Anwendungsframework und My-Namespace auch dort befinden, riskiert doch mal einen Blick in die folgenden Seiten.
    Viele Probleme lassen sich damit wirklich einfach und schnell lösen – ich kann’s am Beispiel beweisen!


    Dieses Buch empfehlen so gut wie alle aus diesem Forum. Also ist das eig. ein Widerspruch. Zuerst empfehlt ihr Einsteigern das Buch und dann empfehlt ihr Einsteigern, ein Teil des gelernten wieder zu vergessen. Ich versteh das nicht... Und das Argument, dass es das in C# nicht gibt gilt ja wohl nicht, denn wir programmieren hier mit VB.
    Mfg
    Vincent

    Weder My.Computer.Audiop.Play noch der System.Media.SoundPlayer sind akzeptable Methoden, um Audio wiederzugeben. DirectShow, DirectSoundOut, ab Vista auch WASAPI, such dir was aus, damit müsstest du die Audiosignale auch direkt in irgend ein Device (bzw. Programm) einschleusen können.
    @Artentus hat damit grundsätzlich sogar recht. Doch soweit ich weiß ist es selbst mit WASAPI nicht möglich Audiosignale direkt in ein Line-In Gerät zu streamen. Die einzige mir bekannte Möglichkeit ist hier direkt einen Treiber zu schreiben.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Mit der Bass.dll müsste das eigentlich auch gehen? Einfach mal nach "Bass.dll .net" googlen.

    thefiloe schrieb:

    Die einzige mir bekannte Möglichkeit ist hier direkt einen Treiber zu schreiben.
    Deswegen gibt es in den meisten Treibern inzwischen, die Möglichkeit, das Aufnahmegerät einzustellen...


    [VB 2010] Mit der Bass.dll Line in "mithören"
    [VB 2008] Sound an Mikro senden

    Achso, je nach dem, was für einen Soundkartentreiber du hast, kannst du dir dann natürlich auch das coden von so einem Programm einfach sparen.
    Wenn du diese Methode nutzen willst, aber einen Rat dazu willst, würde ich dir einen eigenen Thread im Off-Topic-Bereich des Forums vorschlagen. [TUTORIAL] Wie schildere ich ein Hardwareproblem
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if