2015-08-21 11 views
6

Ich habe Probleme beim Aufwachen am Morgen, also möchte ich einen Wecker mit Python machen, der mich zwingen wird aufzustehen.Kann ich einen Ton über einen nicht standardmäßigen Lautsprecher mit Python unter Windows abspielen?

Ich verwende derzeit meinen Computer mit einem Kopfhörer, der an eine Audiobuchse an meinem Monitor angeschlossen ist, der über HDMI an meinen Computer angeschlossen ist.

Ich möchte jeden Morgen eine Audiodatei über die Lautsprecher meines Laptops abspielen, anstatt über meine Kopfhörer. Und ich möchte nicht jeden Abend die Kopfhörer rausziehen.

Ist das möglich?

Ich bin nicht auf der Suche nach der Lage, die Standardlautsprecher zu wechseln. Ich möchte nur einen Ton über einen Lautsprecher wiedergeben, der nicht der Standardlautsprecher ist, was ich weiß, ist möglich, weil es von Zeit zu Zeit mit Programmen passiert.

+0

mögliche Duplikate von [Programmgesteuertes Umschalten von Audiogeräten unter Windows 7] (http://stackoverflow.com/questions/13054371/programma/switch-audio-devices-on-windows-7) –

+0

Dies ist "nicht möglich" von Design, aber es gibt reverse engineered API-Lösungen auf dem Thread, den ich über –

+0

@JamieBull verbunden bin. Die verknüpfte Frage ist anders. In dieser Frage versuchen sie, programmgesteuert das * default * -Gerät zu ändern, über das eine Anwendung Sound abspielen kann. Diese Frage versucht, Sound durch etwas anderes als das Standardgerät zu routen, was definitiv möglich und sehr üblich ist. Keine reverse engineered API erforderlich. – jaket

Antwort

4

Ich bin nicht sicher, ob Sie mit winsound auswählen können, welches Audiogerät ausgegeben werden soll, aber PyAudio ist plattformübergreifend und kann den Sound an das gewünschte Gerät ausgeben. PyAudio ist auf pip durch:

pip installiert --allow externes pyaudio --allow-ungeprüfte pyaudio pyaudio

Insbesondere die pyAudio.PyAudio() open() Funktion ein nimmt. Argument mit dem "input_device_index" - Index des zu verwendenden Eingabegeräts. Nicht angegeben (oder Keine) verwendet Standardgerät. Ignoriert, wenn die Eingabe Falsch ist.

Docs und Beispiel: https://people.csail.mit.edu/hubert/pyaudio/docs/

Finding das Gerät: List all audio devices with Python's pyaudio (portaudio binding)

+0

Das sieht nach einem guten Start aus ... und ich würde mir vorstellen, dass die internen Lautsprecher und HMDI-Ports unterschiedliche Geräte sein würden. –

+0

Das hat es für mich getan. Ich hatte ein paar Probleme, pyaudio zu installieren. Die Verwendung von Pip brachte mir einige Kompilierungsfehler mit Portaudio. Am Ende habe ich ein Rad von hier benutzt: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio und habe alles aussortiert. Für Leute, die nicht wissen, wie man eine .whl installiert, müssen Sie die Version für Ihre Version von Pythin und Architektur herunterladen. IE: PyAudio-0.2.8-cp34-none-win32.whl wäre für Python 3.4 und win32 Installation von Python. – Yamajac

0

Als Alternative Sie PyAudio python-sounddevice könnten versuchen, die Portaudio auch verwendet (wie PyAudio), aber es ist wahrscheinlich einfacher zu installieren und zu verwenden.

Verwandte Themen