2011-02-05 3 views
2

Кто-нибудь знает альтернативу ALSA, которая может быть использована в Windows, с gstreamer, и как ее установить, и где найти привязки python для нее, если она вам нужна? thanks xxxWindows Gstreamer Альтернатива ALSA?

+0

ALSA - это звуковая система, используемая Linux, поэтому я сомневаюсь, что вы можете использовать приемник ALSA для Windows. –

+2

SDL делает достойную работу по абстрагированию звуковых интерфейсов независимым от платформы способом. PyGame содержит интерфейс для SDL и работает на многих платформах. Разумеется, такая абстракция устанавливает множество ограничений, но, возможно, она по-прежнему будет для вас. – 9000

+0

@ 9000: вы можете преобразовать свой комментарий в ответ, чтобы Джеймс мог его принять. –

ответ

3

SDL делает приличную работу абстрагирования звуковых интерфейсов в платформо-независимым способом. PyGame содержит интерфейс для SDL и работает на многих платформах. Разумеется, такая абстракция устанавливает множество ограничений, но, возможно, она по-прежнему будет для вас.

Переведено с комментария.

0

Похоже, что в Windows установщик SDK фактически не устанавливает привязки в любое место, видимое интерпретатору Python. Файлы можно найти по адресу sdk\bindings\python\v2.6\lib\site-packages. Скопируйте содержимое каталога в папку Python site-packages, и вы сможете импортировать библиотеку.

+0

ImportError: Ошибка загрузки DLL: указанный модуль не найден. ' – jma

+0

Итак, вам также нужно скопировать dll из 'sdk/bindings/python/v2.6/lib/gstreamer-0.10' в' 'Python2.6/DLL''. – shang

+0

, который не исправил его :( – jma

0

9000 в ответ, SDL, и autoaudiosrc/раковина являются ответом :)

1

не уверен, что это все еще актуально, но сегодня у меня была такая же проблема. Я обошел его, используя «autoaudiosink».

Таким образом, я получил минимальный пример на следующем веб-сайте для работы в Windows XP

http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/

Вот моя версия кода (по существу, то же самое для alsasink исключением)

#!/usr/bin/python 

import pygst 
pygst.require("0.10") 
import gst 
import pygtk 
import gtk 

class Main: 
    def __init__(self): 
     self.pipeline = gst.Pipeline("mypipeline") 

     self.audiotestsrc = gst.element_factory_make("audiotestsrc", "audio") 
     self.pipeline.add(self.audiotestsrc) 

     self.sink = gst.element_factory_make("autoaudiosink", "sink") 
     self.pipeline.add(self.sink) 

     self.audiotestsrc.link(self.sink) 

     self.pipeline.set_state(gst.STATE_PLAYING) 

start=Main() 
gtk.main() 

Я надеюсь, что это поможет.

+0

yea .... я переехал в linux давным-давно: D xx fedora 16 atm :) теперь, если я так хочу, я мог бы использовать ALSA тонет, но, честно говоря, я просто не использовал gstreamer на века xx – jma

Смежные вопросы