Autor Beitrag
C#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: So 03.11.13 21:40 
Hey,

nachdem ich vor kurzem den Thread mit "FFT mit C#" eröffnet habe wobei ich NAudio verwende, habe ich hier parallel einen Thread eröffnet in dem ich mit der BASS.NET Lib arbeite.
Ich habe gefühlt 1000x gegooglet und keine Lösung für mein Problem gefunden. Ich hoffe es kennt sich jemand mit BASS aus.

Ich initialisiere BASS.NET nach einem Button-Click:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
private void button1_Click(object sender, EventArgs e)
    {
      int device = dropDown.SelectedIndex - 1;
      //  Bass.BASS_Init(0, 44100, 0, Handle);

      Bass.BASS_Init(044100, BASSInit.BASS_DEVICE_FREQ, Handle);
      //Bass.BASS_Start();
      if (!BassWasapi.BASS_WASAPI_Init(device, 441002, BASSWASAPIInit.BASS_WASAPI_BUFFER, BASSWASAPIFormat.BASS_WASAPI_FORMAT_16BIT, 0.5f0, WASAPI_Callback, Handle)) 
      {
        MessageBox.Show(Bass.BASS_ErrorGetCode().ToString());
        return;
      }
      button1.Enabled = false;
      BassWasapi.BASS_WASAPI_Start();
      //timer = new System.Threading.Timer(ReadWsapiData, null, 0, 20);
    }

Ich habe 3 Audiogeräte zur Auswahl (habe ich vorher ermittelt und in "dropdown" gestellt). Als Geräte habe ich einmal "default", "no sound", "[USB Kopfhörer]" und "[Realtek Wiedergabegerät]".
Wenn ich jetzt eine der letzten 3 Geräte auswähle, erhalte ich BASS_ERROR_DRIVER als Fehler. Ich hab aber keine Ahnung wieso diese Meldung kommt und vor allem wie ich sie wegbekomme. Wenn ich das default-Gerät benutze. Hängt sich auf einmal mein Winamp auf und es kommt keine Musik mehr aus dem Kopfhörer, aber ich erhalte keinen Error.
Weiß jemand wieso??

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
C# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Mi 13.11.13 20:49 
So, da ich hier keine Antwort bekommen habe, habe ich mich bei un4seen.com angemeldet und dort mal mein Problem geschildert. Ich bin jetzt mitlerweile so weit, dass das Gerät, etc. erkannt wird. Jedoch kann ich einfach meine "SessionMute" und "DeviceMute" einfach nicht auf false setzte. Ich setzte es zwar auf false, aber bei der anschließenden Prüfung (direkt die Codezeilen dahinter) ist alles wieder gemuted (true). Bei un4seen antwortet mir nun auch keiner mehr und ich hab echt kein Plan warum das unmuten nicht geht...
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
    private bool UseHelper(int device)
    {
      wasapiHandler = new BassWasapiHandler(device, false48000100);  // init in shared mode

      if (!wasapiHandler.Init() || !wasapiHandler.Start()) return false;    // start handler

      wasapiHandler.UseInput = true;
      wasapiHandler.SessionMute = false;
      wasapiHandler.DeviceMute = false;
      wasapiHandler.SessionVolume = 1.0f;
      wasapiHandler.DeviceVolume = 1.0f;
      wasapiHandler.Volume = 1.0f;


      BASS_WASAPI_DEVICEINFO info = BassWasapi.BASS_WASAPI_GetDeviceInfo(device);
      string s = string.Format("Initialized device {0}:\n" +
                               "Name:\t\t{1}\n" +
                               "Is Initialized:\t{2}\n" +
                               "Is default:\t\t{3}\n" +
                               "Device Volume:\t{4}\n" +
                               "Session Volume:\t{5}\n" +
                               "Volume:\t\t{6}", device, info.name, info.IsInitialized, info.IsDefault, wasapiHandler.DeviceVolume, wasapiHandler.SessionVolume, wasapiHandler.Volume);
      MessageBox.Show(s);

      return true;
    }

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
C# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Do 14.11.13 23:37 
Ok. Da wir niemand helfen kann probier ichs mit einem anderen Ansatz. Anstatt WASAPI Loopback würde ich gerne direkt an den AudioPlayer den Sound abgreifen. Ich würde gern Winamp, VLC und Windows Media Player einbinden. Ich habe mir mal das WinampSDK heruntergeladen, aber ich finde nichts um den AudioOutput abzugreifen...
Hat irgendjemand einen Ansatz wie man das entweder über WASAPI oder den SDKs der Player realisiert? Ich bin hier langsam am verzweifeln...

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler