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
0
A
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();
}
Verwandte Themen
- 1. Wie man benachrichtigt wird, wenn NSWindow schließt
- 2. Wie man benachrichtigt wird, wenn eine Benachrichtigung gemeldet wird
- 3. benachrichtigt wird, wenn eine Dateisperre
- 4. Wie man benachrichtigt wird, wenn eine Eingabe gesetzt wurde
- 5. wird benachrichtigt, wenn UITextField werdenFirstResponder
- 6. wie man benachrichtigt wird, wenn das ble Gerät linkloss auftritt
- 7. UIView - Wie wird benachrichtigt, wenn die Ansicht geladen wird?
- 8. Android wird benachrichtigt, wenn die Inhaltsanbieter-Bilddatenbank aktualisiert wird
- 9. Wie man von UITableViewCell benachrichtigt wird, verschiebe Start und Ende
- 10. Problem mit RxJs BehaviorSubject-Abonnent wird nicht über Wertänderung benachrichtigt
- 11. Wie wird Ihre App benachrichtigt, wenn das iPhone eingeschaltet oder ausgeschaltet wird?
- 12. Wie wird benachrichtigt, wenn der Benutzer Fitnessdaten verweigert?
- 13. Android - Wird benachrichtigt, wenn ein neuer Zugangspunkt erkannt wird?
- 14. JCheckbox Change Listener wird über die Maus über Ereignisse benachrichtigt
- 15. Wie wird über die Änderung des WLAN-Netzwerkstatus benachrichtigt?
- 16. Wie wird das PopupWindow über berührte externe Ereignisse benachrichtigt?
- 17. wird programmgesteuert benachrichtigt, wenn die Verarbeitung beendet ist
- 18. Wie kann ich benachrichtigt werden, wenn eine UIView sichtbar wird?
- 19. Wie wird benachrichtigt, wenn ein Redis-Schlüssel abgelaufen ist?
- 20. Wie pausiert man einen NSThread, bis er benachrichtigt wird?
- 21. Wie der PipedInputStream-Thread benachrichtigt wird, dass der PipedOutputStream-Thread das letzte Byte geschrieben hat?
- 22. Wie man benachrichtigt wird, wenn ein tableViewController die Übertragung auf einen Nav-Stack animiert
- 23. Wie wird benachrichtigt, wenn ein UIView von seinem SuperView getrennt wird?
- 24. Wird nicht in Datei geschrieben?
- 25. Elemententfernung über ng-if wird verzögert, wenn nngAnimate verwendet wird
- 26. Wie wird man benachrichtigt, wenn sich die Höhe der Statusleiste ändert?
- 27. tortoise hg: wie man benachrichtigt wird, wenn etwas zu einem zentralen Repo geschoben
- 28. Wird Django nur mit Python geschrieben?
- 29. Wie wird die generische Listenmanipulationsfunktion geschrieben?
- 30. Wie erkennt man, wenn UITextField leer wird
[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. –
@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