NPAPI:AudioControl: Difference between revisions

Update date
(Update date)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Status =
= Status =


Drafting.
Approved


= Contributors =
= Contributors =


* Last modified: August 14, 2011
* Last modified: June 24, 2015
* Authors: Kyle Huey (Mozilla)
* Authors: Kyle Huey (Mozilla), Benoit Girard (Mozilla)
* Contributors:  
* Contributors: Josh Aas (Mozilla)


= Use case =
= Use case =
Line 17: Line 17:


<pre>
<pre>
NPBool NPP_IsInstancePlayingAudio(NPP instance);
NPPVpluginIsPlayingAudio = 4000
</pre>
</pre>


This function returns TRUE if the plugin instance 'instance' is currently playing audio and FALSE if the plugin instance 'instance' is not. This function may only be called when at least one instance of a plugin has been created and not destroyed and 'instance' must be a live plugin instance when called.
This NPPVariable, when set via NPN_SetValue, will signal whether or not an instance is currently playing audio. This is done by assigning a BOOL value to NPN_SetValue's pointer value argument (not by pointing to a BOOL, as one might expect).


== Mute/Unmute a plugin instance ==
== Mute/Unmute a plugin instance ==


<pre>
<pre>
NPError NPP_MuteInstance(NPP instance);
NPNVmuteAudioBool = 4000
NPError NPP_UnmuteInstance(NPP instance);
</pre>
</pre>


These functions mute or unmute (respectively) the plugin instance 'instance'.  These functions may only be called when at least one instance of a plugin has been created and not destroyed and 'instance' must be a live plugin instance when called.
This NPNVariable, when set via NPP_SetValue, will indicate to a plugin whether or not it should mute audio for an instance. This is done by assigning a BOOL value to NPP_SetValue's pointer value argument (not by pointing to a BOOL, as one might expect).
 
= Open issues =
* Should we condense NPP_[Mute|Unmute]Instance into a single function taking a boolean mute/unmute argument?
* Will we want to be able to control the volume level on a per instance basis?  This seems unnecessarily complicated.
Confirmed users, Bureaucrats and Sysops emeriti
1,680

edits