示例#1
0
 public static PaError PaAsio_GetOutputChannelName(PaDeviceIndex device, int channelIndex, ref string channelName)
 {
     IntPtr charPtr = new IntPtr(0);
     PaError err = IntPtr_PaAsio_GetOutputChannelName(device, channelIndex, out charPtr);
     string str = Marshal.PtrToStringAnsi(charPtr);
     channelName = str;
     return err;
 }
示例#2
0
        public static PaError PaAsio_GetInputChannelName(PaDeviceIndex device, int channelIndex, ref string channelName)
        {
            IntPtr  charPtr = new IntPtr(0);
            PaError err     = IntPtr_PaAsio_GetInputChannelName(device, channelIndex, out charPtr);
            string  str     = Marshal.PtrToStringAnsi(charPtr);

            channelName = str;
            return(err);
        }
示例#3
0
        public static PortAudioDevice GetPortAudioDevice(PaDeviceIndex index)
        {
            if (index.TryGetErrorCode(out var err))
            {
                throw PortAudioException.GetException(err);
            }

            if (DeviceCache.TryGetValue(index, out var reference) && reference.TryGetTarget(out var target))
            {
                return(target);
            }

            var device = new PortAudioDevice(index);

            DeviceCache[index] = new WeakReference <PortAudioDevice>(device);
            return(device);
        }
示例#4
0
 public static extern PaError IntPtr_PaAsio_GetOutputChannelName(PaDeviceIndex device, int channelIndex, out IntPtr channelName);
示例#5
0
 public static extern PaError IntPtr_PaAsio_GetInputChannelName(PaDeviceIndex device, int channelIndex, out IntPtr channelName);
        internal PortAudioDevice(PaDeviceIndex deviceIndex)
        {
            PortAudioLifetimeRegistry.Register(this);

            DeviceIndex = deviceIndex;
        }