Frage

Ich mache eine Anwendung, wo ich will:

  • Nehmen Sie vom Mikrofon und einige Echtzeit-Verarbeitung auf dem Eingang
  • Wiedergabe einer MP3-Datei (ein regulärer Song), aber die Manipulation der Ausgabe in Echtzeit
  • Immer wieder werde ich brauche zusätzliche Sounds über dieses Lied zu spielen, aber ich denke, ich kann das tun, indem Sie einfach die Puffer hinzuzufügen.

Kurz gesagt, ich brauche für Aufnahme und Wiedergabe Ringpuffer haben, und ich brauche „Fütterung“ den Ausgabepuffer mit den neuen Daten alle 20 ms oder so sein, die gerade dabei ist, gespielt werden.

Ich habe bei Directsound gesucht, und es scheint nicht viel zu helfen. Das Lesen und Schreiben an die Ausgangspuffer scheinen sehr ähnlich zu Win32, der einzige Ort, wo es scheint, es helfen würde, ist die „zusätzliche Sounds“ über dem Haupt Song zu spielen.

Sollte ich Directsound, oder sollte ich gehen Sie direkt zu roh Windows-APIs?
Ist Directsound geht etwas für mich zu tun?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Die Direct API geben Sie eine bessere Echtzeit-Kontrolle. Sie sind auch der unterstützte Weg Sound in Windows zu verwenden. Ich hatte den Eindruck, dass die win32 api wurden unerwün- schte, aber ich konnte auf diese falsch sein.

Diese Frage ist in der Nähe zu Ihren

https://stackoverflow.com/questions/314522 / what-is-the-best-c-Sound-api-für-Fenster

auch

Ist DirectSound- die beste Audio-Abstraktionsschicht für Windows

last but not least, das ist, was Microsoft zu sagen hat,

Andere Tipps

Weder? :)

Die Geschichte ist, dass Directsound der Ersatz für waveOut, aber Directsound verbunden Directinput als veraltet APIs in Vista und ist mit WASAPI . Directsound und waveOut sind oben auf dem User-Space WASAPI in Vista implementiert. Auf XP, waveOut und Directsound-Feed auf den gleichen Kernel-Ebene Mixer API.

alle diese Schnittstellen konsolidieren zu sehen, so etwas wie OpenAL, es ist ein gut unterstützt Audiostandard auf der gleichen Linie wie OpenGL.

Es klingt wie Sie gehen zu Latenz ziemlich empfindlich sein. Es könnte unter ASIO

aussehen zahlen

Ich fand Harmony Central - Audio Programming . Lesen Sie auch w:. DirectSound-

  

Windows Vista verfügt über eine komplett   neu geschrieben Audio-Stack basierte auf dem   Universal Audio Architecture. weil   der architektonischen Veränderungen in der   neu gestaltet Audiostapel, ein direkter Weg   von Directsound zu den Audio-Treiber   nicht vorhanden ist.

     

Aufgrund der Xbox 360 und Microsoft   Windows-Integration, Microsoft ist   aktiv drängen Entwickler zu migrieren   neue Anwendungen gleichwertig Xbox   Audio-APIs wie Xaudio und XACT.

OpenAL sieht vielversprechend aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top