Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Libcanberraのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Libcanberra
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:開発]] [[en:Libcanberra]] {{Related articles start}} {{Related|GTK+}} {{Related|デスクトップ通知}} {{Related articles end}} [http://0pointer.de/lennart/projects/libcanberra/ Libcanberra] はイベントサウンドを再生するためのシンプルな抽象インターフェイスです。GNOME などのフリーなデスクトップでイベントサウンドを流すための [https://freedesktop.org/wiki/Specifications/sound-theme-spec XDG Sound Theme and Naming Specifications] を実装しています。 ==インストール== Libcanberra は[[公式リポジトリ]]の {{Pkg|libcanberra}} パッケージでインストールできます。libcanberra では、ALSA, pulseaudio, または gstreamer のバックエンドは必要なくなりました。これらは {{Pkg|libcanberra}} パッケージに組み込まれているためです。 イベントサウンドを聞くためにはサウンドテーマをインストールする必要があります: *デフォルトのサウンドテーマは 'freedesktop' で、[[公式リポジトリ]]の {{Pkg|sound-theme-freedesktop}} パッケージでインストールできます。 * もしくは、[[公式リポジトリ]]や [[Arch User Repository]] で "sound-theme" を検索してください。 ==設定== デフォルトでは、GTK+ アプリケーションが起動した時に GTK+ モジュールが自動的にロードされます。ユーザーの Gtk 設定ファイルでデフォルトの設定を上書きすることができます: {{hc|$HOME/.gtkrc-2.0 and $XDG_CONFIG_HOME/gtk-3.0/settings.ini|<nowiki>gtk-enable-event-sounds=true gtk-enable-input-feedback-sounds=true gtk-sound-theme-name=freedesktop</nowiki>}} GNOME では、以上の設定は gnome-settings-daemon によって管理されており、GSettings の {{ic|org.gnome.desktop.sound}} スキーマで設定を変更できます。 ==Systemd== canberra を使って起動・シャットダウン・再起動サウンドを有効にするには、{{ic|canberra-system-bootup.service}} を[[有効化]]します。 ==canberra アプリの書き方== libcanberra のサウンドイベントは、[https://gi.readthedocs.io/en/latest/ GObject-Introspection] を介して [https://wiki.gnome.org/Projects/GSound GSound] を使い様々なプログラミング言語で簡単に書くことができます。また、[[bash]] からも簡単に呼び出せます。 === Bash === *依存パッケージ: {{Pkg|libcanberra}} {{hc|hello_world.sh|2= #!/bin/bash canberra-gtk-play -i phone-incoming-call -d "hello world" }} === C === *依存パッケージ: {{Pkg|libcanberra}} *ビルド: {{ic|gcc hello_world.c -o hello_world `pkg-config --cflags --libs glib-2.0 libcanberra`}} {{hc|hello_world.c|<nowiki> #include <glib.h> #include <canberra.h> void main () { ca_context * hello; ca_context_create (&hello); ca_context_play (hello, 0, CA_PROP_EVENT_ID, "phone-incoming-call", CA_PROP_EVENT_DESCRIPTION, "hello world", NULL); g_usleep (2000000); return 0; }</nowiki>}} *依存パッケージ: {{Pkg|gsound}} *ビルド: {{ic|gcc -o hello_world `pkg-config --cflags --libs glib-2.0 gsound` hello_world.c}} {{hc|hello_world.c|2= #include <glib.h> #include <gsound.h> int main () { GSoundContext *hello = gsound_context_new(NULL, NULL); gsound_context_play_simple(hello, NULL, NULL, GSOUND_ATTR_EVENT_ID, "phone-incoming-call", GSOUND_ATTR_EVENT_DESCRIPTION, "hello world", NULL); g_usleep (2000000); return 0; } }} === Genie === *依存パッケージ: {{Pkg|libcanberra}} *ビルド依存パッケージ: {{Pkg|vala}} *ビルド: {{ic|valac --pkg libcanberra hello_world.gs}} {{hc|hello_world.gs|<nowiki>uses Canberra init hello: Context Context.create(out hello) hello.play (0, PROP_EVENT_ID, "phone-incoming-call", PROP_EVENT_DESCRIPTION, "hello world") Thread.usleep (2000000)</nowiki>}} *依存パッケージ: {{Pkg|gsound}} *ビルド依存パッケージ: {{Pkg|vala}} *ビルド: {{ic|valac --pkg gsound hello_world.gs}} {{hc|hello_world.gs|2= uses GSound init var hello = new GSound.Context hello.init() hello.play_simple(null, GSound.Attribute.EVENT_ID, "phone-incoming-call", GSound.Attribute.EVENT_DESCRIPTION, "hello world") Thread.usleep (2000000) }} === JavaScript === * 依存パッケージ: {{Pkg|gsound}}, {{Pkg|gjs}} {{hc|hello_world.js|2= #!/usr/bin/gjs const GLib = imports.gi.GLib; const GSound = imports.gi.GSound; let hello = new GSound.Context(); hello.init(null); hello.play_simple({ "event.id" : "phone-incoming-call", "event.description" : "hello world" }, null); GLib.usleep (2000000); }} === Lua === * 依存パッケージ: {{Pkg|gsound}}, {{Pkg|lua-lgi}} {{hc|hello_world.lua|2= #!/usr/bin/lua lgi = require 'lgi' GLib = lgi.require('GLib') GSound = lgi.require('GSound') hello = GSound.Context() hello:play_simple({ [GSound.ATTR_EVENT_ID] = "phone-incoming-call", [GSound.ATTR_EVENT_DESCRIPTION] = "hello world" }) GLib.usleep (2000000) }} === Perl === * 依存パッケージ: {{Pkg|gsound}}, {{Pkg|perl-glib-object-introspection}} {{hc|hello_world.pl|2= #!/usr/bin/perl use Glib::Object::Introspection; Glib::Object::Introspection->setup ( basename => 'GSound', version => '1.0', package => 'GSound'); my $hello = GSound::Context->new; $hello->play_simple({ "event.id" => "phone-incoming-call", "event.description" => "hello world" }); sleep (2); }} === Python === * 依存パッケージ: {{Pkg|gsound}}, {{Pkg|python-gobject}} {{hc|hello_world.py|2= #!/usr/bin/python import gi gi.require_version('GSound', '1.0') from gi.repository import GLib, GSound hello = GSound.Context() hello.init() hello.play_simple({GSound.ATTR_EVENT_ID: "phone-incoming-call", GSound.ATTR_EVENT_DESCRIPTION: "hello world"}) GLib.usleep(2000000) }} === Ruby === * 依存パッケージ: {{Pkg|gsound}}, {{AUR|ruby-gir_ffi}} {{hc|hello_world.rb|2= #!/usr/bin/ruby require 'gir_ffi' GirFFI.setup :GSound Hello = GSound::Context.new Hello.play_simple("event.id" => "phone-incoming-call", "event.description" => "hello world") sleep (2) }} === Vala === *依存パッケージ: {{Pkg|libcanberra}} *ビルド依存パッケージ: {{Pkg|vala}} *ビルド: {{ic|valac --pkg libcanberra hello_world.vala}} {{hc|hello_world.vala|<nowiki>using Canberra; public class HelloWorld { static void main () { Context hello; Context.create(out hello); hello.play (0, PROP_EVENT_ID, "phone-incoming-call", PROP_EVENT_DESCRIPTION, "hello world"); Thread.usleep (2000000); } }</nowiki>}} ==参照== *[http://0pointer.de/lennart/projects/libcanberra/gtkdoc/ Libcanberra リファレンスマニュアル] *[https://developer.gnome.org/gsound/ GSound リファレンスマニュアル]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
Libcanberra
に戻る。
検索
検索
Libcanberraのソースを表示
話題を追加