2009-08-16 14 views
2

Ich weiß nicht, was das Programmieren in Bezug auf Audio angeht, also bitte. Gibt es eine Möglichkeit festzustellen, welche Datei (oder Dateien) von meinem Sound-Treiber wiedergegeben wird? Oder eine Möglichkeit, den aktuellen Stapel von Audiodateien meines Soundtreibers zu untersuchen?Ermitteln der Herkunft von Audio während der Wiedergabe

Ich denke, dass ich im Grunde die Daten an den Audiobus schnüffeln wollen, um festzustellen, wo es auf der Festplatte befindet. Wenn möglich würde ich gerne wissen, wie man das mit .NET macht.

Antwort

2

Ich glaube nicht, dass das möglich ist. Die APIs, die in Windows wiedergegeben werden (DirectSound, waveOut * usw.) behandeln im Wesentlichen Audiodaten als Arrays von Beispielwerten, nicht als Dateien. Eine übergeordnete Klasse wie SoundPlayer öffnet eine Datei, liest die Daten in der Datei in ein Array und übergibt das Array dann an die Wiedergabemethoden, so dass das, was das Audio spielt, nichts über den Speicherort der ursprünglichen Datei weiß. Als ein weiteres Beispiel erzeugt ein eigenes Programm (ein Software-Synthesizer) Audio rein im Speicher, wobei zu keinem Zeitpunkt des Prozesses eine Datei involviert ist, so dass es keine Möglichkeit geben würde, den Speicherort der Datei zu bestimmen (da es keine.) 't eins).

Es ist möglich, dass eine Klasse, die sich mit dem Abspielen von Dateien beschäftigt, eine API zur Verfügung stellt, mit der Sie diese Informationen über jede Datei erhalten, die mit dieser Klasse abgespielt wird. Ich weiß, dass SoundPlayer das nicht tut sicher).

Larry Osterman ist ein Benutzer auf dieser Website, und ist der Techniker hinter dem Windows-Audiosystem, so würde er die Antwort auf diese Frage wissen, wenn jemand, wenn Sie seine Aufmerksamkeit bekommen können. Allerdings würde ich eine Niere darauf wetten, dass dies nicht möglich ist.

+1

Ich bin nur einer der Ingenieure hinter dem Windows-Audiosystem :). Aber MusiGenesis ist 100% genau. Die "Quelle" von Audio ist auf der Ebene des Audio-Stacks ziemlich bedeutungslos - zum Beispiel wird das meiste Spiel-Audio aus einer Reihe vorgerenderter Sounds generiert, die als Spieldaten gespeichert und von der App geschnitten und gewürfelt werden, bevor sie die Audio-Engine erreichen . –

Verwandte Themen