All Downloads are FREE. Search and download functionalities are using the official Maven repository.

js.web.mediastreams.MediaStreamTrack Maven / Gradle / Ivy

package js.web.mediastreams;

import js.lang.VoidPromise;
import js.web.dom.*;
import org.teavm.jso.JSBody;
import org.teavm.jso.JSProperty;

import javax.annotation.Nullable;

/**
 * A single media track within a stream; typically, these are audio or video tracks, but other track types may exist as well.
 */
public interface MediaStreamTrack extends EventTarget {
    @JSBody(script = "return MediaStreamTrack.prototype")
    static MediaStreamTrack prototype() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSBody(script = "return new MediaStreamTrack()")
    static MediaStreamTrack create() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSProperty
    boolean isEnabled();

    @JSProperty
    void setEnabled(boolean enabled);

    @JSProperty
    String getId();

    @JSProperty
    boolean isIsolated();

    @JSProperty
    String getKind();

    @JSProperty
    String getLabel();

    @JSProperty
    boolean isMuted();

    @JSProperty
    @Nullable
    EventListener getOnended();

    @JSProperty
    void setOnended(EventListener onended);

    default void addEndedEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("ended", listener, options);
    }

    default void addEndedEventListener(EventListener listener, boolean options) {
        addEventListener("ended", listener, options);
    }

    default void addEndedEventListener(EventListener listener) {
        addEventListener("ended", listener);
    }

    default void removeEndedEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("ended", listener, options);
    }

    default void removeEndedEventListener(EventListener listener, boolean options) {
        removeEventListener("ended", listener, options);
    }

    default void removeEndedEventListener(EventListener listener) {
        removeEventListener("ended", listener);
    }

    @JSProperty
    @Nullable
    EventListener getOnisolationchange();

    @JSProperty
    void setOnisolationchange(EventListener onisolationchange);

    default void addIsolationChangeEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("isolationchange", listener, options);
    }

    default void addIsolationChangeEventListener(EventListener listener, boolean options) {
        addEventListener("isolationchange", listener, options);
    }

    default void addIsolationChangeEventListener(EventListener listener) {
        addEventListener("isolationchange", listener);
    }

    default void removeIsolationChangeEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("isolationchange", listener, options);
    }

    default void removeIsolationChangeEventListener(EventListener listener, boolean options) {
        removeEventListener("isolationchange", listener, options);
    }

    default void removeIsolationChangeEventListener(EventListener listener) {
        removeEventListener("isolationchange", listener);
    }

    @JSProperty
    @Nullable
    EventListener getOnmute();

    @JSProperty
    void setOnmute(EventListener onmute);

    default void addMuteEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("mute", listener, options);
    }

    default void addMuteEventListener(EventListener listener, boolean options) {
        addEventListener("mute", listener, options);
    }

    default void addMuteEventListener(EventListener listener) {
        addEventListener("mute", listener);
    }

    default void removeMuteEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("mute", listener, options);
    }

    default void removeMuteEventListener(EventListener listener, boolean options) {
        removeEventListener("mute", listener, options);
    }

    default void removeMuteEventListener(EventListener listener) {
        removeEventListener("mute", listener);
    }

    @JSProperty
    @Nullable
    EventListener getOnunmute();

    @JSProperty
    void setOnunmute(EventListener onunmute);

    default void addUnmuteEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("unmute", listener, options);
    }

    default void addUnmuteEventListener(EventListener listener, boolean options) {
        addEventListener("unmute", listener, options);
    }

    default void addUnmuteEventListener(EventListener listener) {
        addEventListener("unmute", listener);
    }

    default void removeUnmuteEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("unmute", listener, options);
    }

    default void removeUnmuteEventListener(EventListener listener, boolean options) {
        removeEventListener("unmute", listener, options);
    }

    default void removeUnmuteEventListener(EventListener listener) {
        removeEventListener("unmute", listener);
    }

    @JSProperty
    MediaStreamTrackState getReadyState();

    VoidPromise applyConstraints(MediaTrackConstraints constraints);

    VoidPromise applyConstraints();

    MediaStreamTrack clone();

    MediaTrackCapabilities getCapabilities();

    MediaTrackConstraints getConstraints();

    MediaTrackSettings getSettings();

    void stop();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy