NAudio Volume zur Runtime ändern?

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von TheGameSiders.

    NAudio Volume zur Runtime ändern?

    Hi.

    So spiele ich mit NAudio eine MP3:

    VB.NET-Quellcode

    1. Public Volume as Single = 0.01
    2. Dim Wave1 As New NAudio.Wave.WaveOut
    3. Dim xa() As Byte = IO.File.ReadAllBytes("C:\Song - Come Out and Play.mp3")
    4. Sub PlaySound()
    5. Dim data As New IO.MemoryStream(xa)
    6. Wave1.Init( _
    7. New NAudio.Wave.BlockAlignReductionStream( _
    8. NAudio.Wave.WaveFormatConversionStream.CreatePcmStream( _
    9. New NAudio.Wave.Mp3FileReader(data) _
    10. )))
    11. Wave1.Volume = Volume
    12. Wave1.Play()
    13. End Sub
    14. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    15. PlaySound()
    16. End Sub


    Geht auch.
    Nur wie kann ich jetzt die Lautstärke zur Laufzeit ändern?

    Per Button mit

    VB.NET-Quellcode

    1. Volume = 0.9
    passiert garnichts.
    Geht das überhaupt?

    Danke :)
    Wenn ich das Beispiel Playing an MP3 von der NAudio Webseite nehme, dann funktioniert es sowohl mit
    volumeStream.Volume = CSng(volumeStream.Volume * 0.5)
    als auch mit
    waveOutDevice.Volume = CSng(0.5 * waveOutDevice.Volume)
    wobei er bei der letzteren Methode meckert, dass es veraltet ist.

    Mal dumm gefragt : Den Unterschied von 1.0 zu 0.9 hörst du vielleicht einfach nicht?!