Class WebAudio

  • public class WebAudio
    extends java.lang.Object
    Class created by Automatic Code-Generator.
    This class was built using the Chrome Remote Dev-Tools A.P.I., which is specified by two JSON-RPC Files. These files were obtained from the Chrome Dev Tools Protocol Git Hub Page, which has a "Tip of Tree" (the latest) API-Specification Page Here: JSON-RPC Protocol Specification.

    JSON-Viewable Google-API:
    These files may be viewed here: browser_protocol.json and js_protocol.json.
    These files were converted into this Java-Browser (CDT) Library; they are a Java-Alternative to the Node.js implementation.

    HTML-Viewable API:
    In addition to this Class-Library, these files were also converted to a simple HTML Page, which may be browsed here: Browser API Web-Page

    Node.js RDP-API Implementation:
    You may read about the Node.js Chrome Remote Interface on the Node.js Package Manager Web-Site: NPM
    This domain allows inspection of Web Audio API.

    This class is intended to be used with a Headless Browser

    These methods have been tested, to some degree, using Google Chrome. In order to use this class you must start a web-browser instance and make a connection to the browser using a Remote Debugging Port. The initializations may be accomplished using class BRDPC (Browser Remote Debug Protocol Connection).

    Google-Chrome was used during the development process of the classes in this particular package. Note that, lately, it has been asserted Microsoft has switched to using the Chrome-Engine for its Microsoft Edge Browser Internal Code-Base. Therefore, there may limited support / functionality when running the methods in this class with Microsoft-Edge. There is the possibility these will work with Opera & Safari.

    Check whether the your Web-Browser will allow itself to be driven by the Web-Socket RDP-Port 9223.

    Foreign Function API:
    Every one of the methods that reside in this class are designed to do nothing more than:

    1. Accept Parameters from the User, and "Marshall Them" into a Valid JSON-Request
    2. Transmit the Marshalled Request-JSON to a Headless Web-Browser over a Web-Socket RDP Connection
    3. Receive BOTH that Method's Results AND any Browser Event-Firings from the Web-Socket
    4. Parse JSON Method-Results and Browser-Event Firings, and Subsequently Convert them to Standard Java-Types
    5. Report these Method-Results and Browser-Events to the User via an User-Registered Event-Listener or a Promise Object

    Java-HTML Difference:
    Unlike the bulk of the Java HTML JAR Library, there is very little native Java-Code, and very little testing that may be done on any of the classes & methods in this package. The code inside these classes does nothing more than marshall-and-unmarshall Java-Types into Json-Requests (and vice-versa). The Java-Script & Browser modules inside of a Google-Chrome instance are, theoretically, handling these requests, and returning their results (or events) over the Web-Socket Connection.

    It has been asserted (by Google Chrome Developers) that some of these methods are only "partially working" or "experimental".

    Stateless Class:
    This class neither contains any program-state, nor can it be instantiated. The @StaticFunctional Annotation may also be called 'The Spaghetti Report'. Static-Functional classes are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's @Stateless Annotation.
    • 1 Constructor(s), 1 declared private, zero-argument constructor
    • 3 Method(s), 3 declared static
    • 10 Field(s), 10 declared static, 9 declared final
    • Fields excused from final modifier (with explanation):
      Field 'counter' is not final. Reason: CONFIGURATION

    • Field Detail

      • ContextType

        public static final java.lang.String[] ContextType
        Enum of BaseAudioContext types
        Exact Field Declaration Expression:
         public static final String[] ContextType =
             { "realtime", "offline", };
      • ContextState

        🡅  🡇    
        public static final java.lang.String[] ContextState
        Enum of AudioContextState from the spec
        Exact Field Declaration Expression:
         public static final String[] ContextState =
             { "suspended", "running", "closed", };
      • ChannelCountMode

        🡅  🡇    
        public static final java.lang.String[] ChannelCountMode
        Enum of AudioNode::ChannelCountMode from the spec
        Exact Field Declaration Expression:
         public static final String[] ChannelCountMode =
             { "clamped-max", "explicit", "max", };
      • ChannelInterpretation

        🡅  🡇    
        public static final java.lang.String[] ChannelInterpretation
        Enum of AudioNode::ChannelInterpretation from the spec
        Exact Field Declaration Expression:
         public static final String[] ChannelInterpretation =
             { "discrete", "speakers", };
      • AutomationRate

        🡅  🡇    
        public static final java.lang.String[] AutomationRate
        Enum of AudioParam::AutomationRate from the spec
        Exact Field Declaration Expression:
         public static final String[] AutomationRate =
             { "a-rate", "k-rate", };