Allow changing of output device #1904
Labels
area-player
Related to the audio playback engine.
platform-all
Affects all platforms
state-accepted
This is a valid topic to work on.
Milestone
See #634 (comment)
alphaTab should expose an API to allow changing the output device.
await navigator.mediaDevices.getUserMedia({ audio: true });
(await navigator.mediaDevices.enumerateDevices()).filter(device => device.kind === 'audiooutput')
string
new AudioContext({sinkID: device.deviceId})
await audioContext.setSinkId(device.deviceId)
NAudio.Wave.DirectSoundOut.Devices
System.Guid
new NAudio.Wave.DirectSoundOut(deviceId, latency)
DirectSoundOut
((AudioManager) context.getSystemService(Context.AUDIO_SERVICE)).getDevices(AudioManager.GET_DEVICES_OUTPUTS)
AudioDeviceInfo
audioTrack.setPreferredDevice()
audioTrack.setPreferredDevice()
alphaTab design:
Settings
ISynthOutput
initializes with the default deviceinterface ISynthOutputDevice { ... }
will represent the platform specific devices.interface ISynthOutput { enumerateDevices(): Promise<ISynthOutputDevice>
method enumerate and list the devices (it also will request permissions if needed).interface ISynthOutput { setOutputDevice(device: ISynthOutputDevice|null): Promise<void>
method will change the output device. Null restores the default output device.interface ISynthOutput { getOutputDevice(): Promise<ISynthOutputDevice|null>
method try to determine the current output device.ISynthOutputDevice
instances for the same output device might be created across API calls.enumerateDevices
onAlphaTabApiBase
setOutputDevice
onAlphaTabApiBase
getOutputDevice
onAlphaTabApiBase
The text was updated successfully, but these errors were encountered: