Skip to content

AudioSource

Defined in: core/source/audio.ts:38

The AudioSource class represents the sources of the audio device items that has been added to the stage. A single source could have multiple items linked into it and any changes to the source would affect all items linked to it.

Each item is represented by the AudioItem class. See: #core/AudioItem Core/AudioItem

Inherits from: #core/Source Core/Source

var xjs = require('xjs');
xjs.Scene.getActiveScene().then(function(scene) {
scene.getSources().then(function(sources) {
for (var i in sources) {
if (sources[i] instanceof XJS.AudioSource) {
// Manipulate your audio device source here
sources[i].setSilenceDetectionEnabled(true);
}
}
})
})

All methods marked as Chainable resolve with the original AudioSource instance.

new AudioSource(props?): AudioSource

Defined in: core/source/source.ts:75

AudioSource

Source.constructor

getAudioOffset: () => Promise<number>

Defined in: core/source/audio.ts:59

See: #core/ISourceAudio#getAudioOffset getAudioOffset

Promise<number>

ISourceAudio.getAudioOffset


getCustomName: () => Promise<string>

Defined in: core/source/source.ts:291

See: #core/ISource#getCustomName getCustomName

Promise<string>

Source.getCustomName


getId: () => Promise<string>

Defined in: core/source/source.ts:316

See: #core/ISource#getId getId

Promise<string>

Source.getId


getItemList: () => Promise<Item[]>

Defined in: core/source/source.ts:321

See: #core/ISource#getItemList getItemList

Promise<Item[]>

Source.getItemList


getKeepLoaded: () => Promise<boolean>

Defined in: core/source/source.ts:306

See: #core/ISource#getKeepLoaded getKeepLoaded

Promise<boolean>

Source.getKeepLoaded


getName: () => Promise<string>

Defined in: core/source/source.ts:281

See: #core/ISource#getName getName

Promise<string>

Source.getName


getSilencePeriod: () => Promise<number>

Defined in: core/source/audio.ts:53

See: #core/ISourceAudio#getSilencePeriod getSilencePeriod

Promise<number>

ISourceAudio.getSilencePeriod


getSilenceThreshold: () => Promise<number>

Defined in: core/source/audio.ts:47

See: #core/ISourceAudio#getSilenceThreshold getSilenceThreshold

Promise<number>

ISourceAudio.getSilenceThreshold


getType: () => Promise<ItemTypes>

Defined in: core/source/source.ts:331

See: #core/ISource#getType getType

Promise<ItemTypes>

Source.getType


getValue: () => Promise<string | XML>

Defined in: core/source/source.ts:296

See: #core/ISource#getValue getValue

Promise<string | XML>

ISourceAudio.getValue

Source.getValue


getVolume: () => Promise<number>

Defined in: core/source/audio.ts:67

See: #core/IAudio#getVolume getVolume

Promise<number>

IAudio.getVolume


isAudioAvailable: () => Promise<boolean>

Defined in: core/source/audio.ts:91

See: #core/IAudio#isAudioAvailable isAudioAvailable

Promise<boolean>

IAudio.isAudioAvailable


isAutoMute: () => Promise<boolean>

Defined in: core/source/audio.ts:73

See: #core/IAudio#isAutoMute isAutoMute

Promise<boolean>

IAudio.isAutoMute


isMute: () => Promise<boolean>

Defined in: core/source/audio.ts:70

See: #core/IAudio#isMute isMute

Promise<boolean>

IAudio.isMute


isSilenceDetectionEnabled: () => Promise<boolean>

Defined in: core/source/audio.ts:41

See: #core/ISourceAudio#isSilenceDetectionEnabled isSilenceDetectionEnabled

Promise<boolean>

ISourceAudio.isSilenceDetectionEnabled


isStreamOnlyAudio: () => Promise<boolean>

Defined in: core/source/audio.ts:85

See: #core/IAudio#isStreamOnlyAudio isStreamOnlyAudio

Promise<boolean>

IAudio.isStreamOnlyAudio


refresh: () => Promise<Source>

Defined in: core/source/source.ts:326

See: #core/ISource#refresh refresh

Promise<Source>

Source.refresh


setAudioOffset: (value) => Promise<SourceAudio>

Defined in: core/source/audio.ts:62

See: #core/ISourceAudio#setAudioOffset setAudioOffset

number

Promise<SourceAudio>

ISourceAudio.setAudioOffset


setAutoMute: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:82

See: #core/IAudio#setAutoMute setAutoMute

boolean

Promise<AudioSource>

IAudio.setAutoMute


setCustomName: () => Promise<Source>

Defined in: core/source/source.ts:286

See: #core/ISource#setCustomName setCustomName

Promise<Source>

Source.setCustomName


setKeepLoaded: (value) => Promise<Source>

Defined in: core/source/source.ts:311

See: #core/ISource#setKeepLoaded setKeepLoaded

boolean

Promise<Source>

Source.setKeepLoaded


setMute: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:79

See: #core/IAudio#setMute setMute

boolean

Promise<AudioSource>

IAudio.setMute


setName: (value) => Promise<Source>

Defined in: core/source/source.ts:276

See: #core/ISource#setName setName

string

Promise<Source>

Source.setName


setSilenceDetectionEnabled: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:44

See: #core/ISourceAudio#setSilenceDetectionEnabled setSilenceDetectionEnabled

boolean

Promise<AudioSource>

ISourceAudio.setSilenceDetectionEnabled


setSilencePeriod: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:56

See: #core/ISourceAudio#setSilencePeriod setSilencePeriod

number

Promise<AudioSource>

ISourceAudio.setSilencePeriod


setSilenceThreshold: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:50

See: #core/ISourceAudio#setSilenceThreshold setSilenceThreshold

number

Promise<AudioSource>

ISourceAudio.setSilenceThreshold


setStreamOnlyAudio: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:88

See: #core/IAudio#setStreamOnlyAudio setStreamOnlyAudio

boolean

Promise<AudioSource>

IAudio.setStreamOnlyAudio


setValue: (value) => Promise<Source>

Defined in: core/source/source.ts:301

See: #core/ISource#setValue setValue

string | XML

Promise<Source>

ISourceAudio.setValue

Source.setValue


setVolume: (value) => Promise<AudioSource>

Defined in: core/source/audio.ts:76

See: #core/IAudio#setVolume setVolume

number

Promise<AudioSource>

IAudio.setVolume

static getAllSources(): Promise<Source[]>

Defined in: core/source/source.ts:220

return: Promise<Source[]>

Get all unique Source from every scene. Total number of Sources returned may be less than total number of items on all the scenes due to Linked items only having a single Source.

xjs.Source.getAllSources().then(function(sources) {
for(var i = 0 ; i < sources.length ; i++) {
if(sources[i] instanceof xjs.HtmlSource) {
// Manipulate HTML Source here
}
}
})

Promise<Source[]>

Source.getAllSources


static getCurrentSource(): Promise<Source>

Defined in: core/source/source.ts:108

return: Promise

Get the current source (when function is called by sources), or the source that was right-clicked to open the source properties window (when function is called from the source properties window)

xjs.Source.getCurrentSource().then(function(source) {
// This will fetch the current source (the plugin)
}).catch(function(err) {
// Handle the error here. Errors would only occur
// if we try to execute this method on Extension plugins
});

Promise<Source>

Source.getCurrentSource


static getItemList(): Promise<Item[]>

Defined in: core/source/source.ts:167

return: Promise<Item[]>

Get the item List of the current Source. The item list is a list of items linked to a single Source.

xjs.Source.getItemList()
.then(function(items) {
// This will fetch the item list of the current Source
for (var i = 0 ; i < items.length ; i++) {
// Manipulate each item here
}
});

This is just the shorter way of getting items that are linked to a single source. See the long version below:

xjs.Source.getCurrentSource()
.then(source.getItemList)
.then(function(items) {
// Manipulate the items here
})

Promise<Item[]>

Source.getItemList