public int[] GetVolume(Gst.Interfaces.MixerTrack track) { if (track == null) { return(null); } IntPtr native_volumes = GLib.Marshaller.Malloc((ulong)(4 * track.NumChannels)); gst_mixer_get_volume(Handle, track.Handle, ref native_volumes); int[] volumes = new int[track.NumChannels]; Marshal.Copy(native_volumes, volumes, 0, track.NumChannels); GLib.Marshaller.Free(native_volumes); return(volumes); }
public void SetVolume(Gst.Interfaces.MixerTrack track, int[] volumes) { if (track == null) { return; } if (volumes.Length != track.NumChannels) { throw new ArgumentOutOfRangeException(); } IntPtr volumes_native = GLib.Marshaller.Malloc((ulong)(4 * track.NumChannels)); Marshal.Copy(volumes, 0, volumes_native, track.NumChannels); gst_mixer_set_volume(Handle, track.Handle, volumes_native); GLib.Marshaller.Free(volumes_native); }
public void SetMute(Gst.Interfaces.MixerTrack track, bool mute) { gst_mixer_set_mute(Handle, track == null ? IntPtr.Zero : track.Handle, mute); }
public void MuteToggled(Gst.Interfaces.MixerTrack track, bool mute) { gst_mixer_mute_toggled(Handle, track == null ? IntPtr.Zero : track.Handle, mute); }
public void RecordToggled(Gst.Interfaces.MixerTrack track, bool record) { gst_mixer_record_toggled(Handle, track == null ? IntPtr.Zero : track.Handle, record); }
public void SetRecord(Gst.Interfaces.MixerTrack track, bool record) { gst_mixer_set_record(Handle, track == null ? IntPtr.Zero : track.Handle, record); }