基本的なボリュームアプリケーションを作成しようとしています。これをRubyで書いているので、Cライブラリを拡張したり使用したりしたくありません。代わりに、プロパティを取得しffi
てこれを書き込もうとしましたが、アドレスが指すファイルが存在しません。Pulse Audioは適切に設定されていますか?ruby-dbus
Address
/org/pulse_audio/server_lookup1
dbus
質問する
11505 次
2 に答える
10
Ubuntu は、D-Bus をサポートしない Pulse Audio を出荷しています。有効にするには、ファイルの最後に次の行を追加します/etc/pulse/default.pa
。
load-module module-dbus-protocol
パルス オーディオを再起動します。
pkill pulseaudio; pulseaudio
D-Bus 経由で pulseaudio を使用する方法を示すpulseaudio-mixer-cliプロジェクトで見つかったソリューション。
于 2013-10-19T23:04:57.627 に答える
1
私のシステム (openSUSE 12.1) では、PA は既存のソケットを指しています。このコード ( gist )
#! /usr/bin/env ruby
require 'rubygems'
require 'dbus'
b = DBus.session_bus
ps = b.service 'org.PulseAudio1'
po = ps.object '/org/pulseaudio/server_lookup1'
po.introspect
pi = po['org.PulseAudio.ServerLookup1']
a = pi['Address']
path = a.split('=').last
system 'stat', path
生産する
$ ruby ~/snippets/dbus-pulseaudio.rb
File: `/home/mvidner/.pulse/7c5e87305bb28b5a0661f8180000054c-runtime/dbus-socket'
Size: 0 Blocks: 0 IO Block: 4096 socket
Device: 801h/2049d Inode: 1332590 Links: 1
Access: (0777/srwxrwxrwx) Uid: (11018/ mvidner) Gid: ( 100/ users)
Access: 2012-11-19 09:07:20.566053943 +0100
Modify: 2012-11-19 09:07:20.566053943 +0100
Change: 2012-11-19 09:07:20.566053943 +0100
Birth: -
于 2012-11-19T17:01:11.950 に答える