Exemplo n.º 1
0
        /**
         * Get the devices associated with an audio output.
         *
         * @param outputName output
         * @return collection of audio output devices
         */
        private List <AudioDevice> GetAudioOutputDevices(string outputName)
        {
            Logger.Debug("GetAudioOutputDevices(outputName={})", outputName);
            IntPtr outputNamePtr = NativeString.StringPointer(outputName);
            int    deviceCount   = LibVlc.libvlc_audio_output_device_count(instance, outputNamePtr);

            Logger.Debug("deviceCount={}", deviceCount);
            List <AudioDevice> result = new List <AudioDevice>(deviceCount);

            for (int i = 0; i < deviceCount; i++)
            {
                string deviceId = NativeString.GetNativeString(LibVlc.libvlc_audio_output_device_id(instance, outputNamePtr, i));
                string longName = NativeString.GetNativeString(LibVlc.libvlc_audio_output_device_longname(instance, outputNamePtr, i));
                result.Add(new AudioDevice(deviceId, longName));
            }
            return(result);
        }