我使用的是 Ubuntu 12.04,它当然使用 ALSA 来处理声音。我正在使用两个应用程序,它们使用 GStreamer 解码和播放媒体,每当我收听 Pandora 或运行 Youtube 时,我的应用程序都无法运行。
对于一个应用程序,每当它启动时,它都会尝试将管道状态设置为正在播放,但它会收到一个它不能的错误。另一个应用程序在总线上给了我一个错误,它给了我这个信息:
Setting the pipeline to play. Playing.
Error received from element autoaudiosink-actual-sink-alsa: Could not open audio device for playback. Device is being used by another application.
Debugging information: gstalsasink.c(689): gst_alsasink_open (): /GstAlsaSink:autoaudiosink-actual-sink-alsa:
Device 'default' is busy
我在这两个应用程序的管道中都使用了 autoaudiosink,所以这个输出告诉我它正在为音频接收器选择 ALSA。那里并不奇怪。但是,这也意味着 GStreamer 正试图将 ALSA 全部用于自己,并且不能很好地与其他媒体应用程序配合使用。我做了一些测试,我的理论似乎成立。
谁能告诉我是否有办法在 Ubuntu 上设置 GStreamer 音频,以便它可以与其他媒体应用程序一起使用?或者是否知道在使用 GStreamer 音频时,其他媒体应用程序无法运行?