Пример #1
0
        static void enumDevice(PXCMCapture capture)
        {
            for (int i = 0; ; ++i)
            {
                // デバイス情報を取得する
                PXCMCapture.DeviceInfo dinfo;
                var sts = capture.QueryDeviceInfo(i, out dinfo);
                if (sts < pxcmStatus.PXCM_STATUS_NO_ERROR)
                {
                    break;
                }

                // デバイス名を表示する
                Console.WriteLine("\t" + dinfo.name);

                // デバイスを取得する
                var device = capture.CreateDevice(i);

                for (int s = 0; s < PXCMCapture.STREAM_LIMIT; ++s)
                {
                    // ストリーム種別を取得する
                    PXCMCapture.StreamType type = PXCMCapture.StreamTypeFromIndex(s);
                    if ((dinfo.streams & type) == 0)
                    {
                        continue;
                    }

                    // ストリーム名を取得する
                    var name = PXCMCapture.StreamTypeToString(type);
                    Console.WriteLine("\t\t" + name);

                    // ストリームのフォーマットを取得する
                    int nprofiles = device.QueryStreamProfileSetNum(type);
                    for (int p = 0; p < nprofiles; ++p)
                    {
                        PXCMCapture.Device.StreamProfileSet profiles;
                        sts = device.QueryStreamProfileSet(type, p, out profiles);
                        if (sts < pxcmStatus.PXCM_STATUS_NO_ERROR)
                        {
                            break;
                        }

                        // ストリームのフォーマットを表示する
                        Console.WriteLine("\t\t\t" + ProfileToString(profiles[type]));
                    }
                }
            }

            Console.WriteLine("");
        }
Пример #2
0
 public static String ToString(this PXCMCapture.StreamType stream)
 {
     return(PXCMCapture.StreamTypeToString(stream));
 }