2016-07-15 5 views
0

Ich habe eine Audioanwendung mit ClutterGstPlayback Objekt geschrieben. Ich möchte, dass meine Anwendung benachrichtigt wird, wenn meine Anwendung stummgeschaltet ist (die App kann vom Audio-Manager stummgeschaltet werden). Mein Anwendungsfall ist es, die App anzuhalten, wenn sie stummgeschaltet ist, und sie später erneut abzuspielen. FYI, ClutterGstPlayback implementiert CluttGstPlayer Schnittstelle, konnte ich keine Eigenschaft oder Signal finden, die emittiert wird, wenn App stummgeschaltet ist. Können Sie mir bitte sagen, wie Sie benachrichtigt werden, wenn die App stummgeschaltet ist?Wie man über "stumm" benachrichtigt wird, wenn App mit ClutterGstPlayback geschrieben wird

Antwort

0

Ich bin mir nicht sicher, wie das Durcheinander implementiert wird, aber wenn es pulsesink verwendet, können Sie es patchen, um Anwendungs-Tag zu emittieren, auf dem Sie reagieren können.

, dass die Umsetzung gst_pulsesink_set_mute ist gehen und dort hinzuzufügen:

GstStructure *str = gst_structure_new("custom_muted", 
    "muted", G_TYPE_BOOLEAN, mute, NULL); 
GstMessage *msg = gst_message_new_application(GST_OBJECT(psink), str); 
if (!gst_element_post_message(psink, msg)) { 
    fail.. 
} 

Dann in Ihrem Bus sehen Sie auf GST_MESSAGE_APPLICATION reagieren und fangen es:

if (gst_message_has_name(p_msg, "custom_muted")) { 
    gboolean muted; 
    const GstStructure *str = gst_message_get_structure(p_msg); 
    gst_structure_get_boolean(str, "muted", &muted); 
    if (muted) 
     do_my_fancy_pause(); 
} 
+0

[ClutterGstPlayback] (https: // Entwickler. gnome.org/clutter-gst/stable/ClutterGstPlayback.html) verwendet intern playbin zum Abspielen von Audio. [Playbin] (https://developer.gnome.org/gst-plugins-libs/stable/gst-plugin-base-plugins-playbin.html#GstPlayBin--uri) verwendet autoaudiosink. Wir können also nicht immer davon ausgehen, dass es Pulsesink verwenden wird. –

+0

@AkashJain Nun können Sie [Audio-Sink] angeben (https://developer.gnome.org/gst-plugins-libs/stable/gst-plugin-base-plugins-playbin.html#GstPlayBin--audio-sink) pulsaudio sein .. – nayana

Verwandte Themen