Select video and audio capture devices
Select needed video input (configure crossbar)
Get list of available TV Tuners
| Delphi | for I := 0 to VideoCapture1.TVTuner_Devices_GetCount - 1 do cbTVTuner.Items.Add(VideoCapture1.TVTuner_Devices_GetItem(i)); |
| C++/C# | for (int i = 0; i < VideoCapture1.TVTuner_Devices_GetCount(); i++) cbTVTuner.Items.Add(VideoCapture1.TVTuner_Devices_GetItem(i)); |
Get list of available TV formats
| Delphi | for I := 0 to VideoCapture1.TVTuner_TVFormats_GetCount - 1 do cbTVSystem.Items.Add(VideoCapture1.TVTuner_TVFormats_GetItem(i)); |
| C++/C# | for (int i = 0; i < VideoCapture1.TVTuner_TVFormats_GetCount(); i++) cbTVSystem.Items.Add(VideoCapture1.TVTuner_TVFormats_GetItem(i)); |
Get list of countries
| Delphi | for I := 0 to VideoCapture1.TVTuner_Countries_GetCount - 1 do cbTVCountry.Items.Add(VideoCapture1.TVTuner_Countries_GetItem(i)); |
| C++/C# | for (int i = 0; i < VideoCapture1.TVTuner_Countries_GetCount(); i++) cbTVCountry.Items.Add(VideoCapture1.TVTuner_Countries_GetItem(i)); |
Select TV Tuner
| Delphi | VideoCapture1.TVTuner_Name := cbTVTuner.Items[cbTVTuner.ItemIndex]; |
| C++/C# | VideoCapture1.TVTuner_Name = cbTVTuner.Text; |
![]()
Read TV Tuner settings
| Delphi | VideoCapture1.TVTuner_Read; |
| C++/C# | VideoCapture1.TVTuner_Read(); |
Get list of available TV modes
| Delphi | for I := 0 to VideoCapture1.TVTuner_Modes_GetCount - 1 do cbTVMode.Items.Add(VideoCapture1.TVTuner_Modes_GetItem(i)); |
| C++/C# | for (int i = 0; i < VideoCapture1.TVTuner_Modes_GetCount(); i++) cbTVMode.Items.Add(VideoCapture1.TVTuner_Modes_GetItem(i)); |
Get current audio and video frequencies.
| Delphi | edVideoFreq.Text := IntToStr(VideoCapture1.TVTuner_VideoFrequency); edAudiofreq.Text := IntToStr(VideoCapture1.TVTuner_AudioFrequency); |
| C++/C# | edVideoFreq.Text = Convert.ToString(VideoCapture1.TVTuner_VideoFrequency); edAudioFreq.Text = Convert.ToString(VideoCapture1.TVTuner_AudioFrequency); |
Select signal source
| Delphi | cbTVInput.ItemIndex := cbTVInput.Items.IndexOf(VideoCapture1.TVTuner_InputType); |
| C++/C# | cbTVInput.SelectedIndex = cbTVInput.Items.IndexOf(VideoCapture1.TVTuner_InputType); |

Select work mode
| Delphi | cbTVMode.ItemIndex := cbTVMode.Items.IndexOf(VideoCapture1.TVTuner_Mode); |
| C++/C# | cbTVMode.SelectedIndex = cbTVMode.Items.IndexOf(VideoCapture1.TVTuner_Mode); |

Select TV system (PAL, NTSC, SECAM, etc.)
| Delphi | cbTVSystem.ItemIndex := cbTVSystem.Items.IndexOf(VideoCapture1.TVTuner_TVFormat); |
| C++/C# | cbTVSystem.SelectedIndex = cbTVSystem.Items.IndexOf(VideoCapture1.TVTuner_TVFormat); |

Select country
| Delphi | cbTVCountry.ItemIndex := cbTVCountry.Items.IndexOf(VideoCapture1.TVTuner_Country); |
| C++/C# | cbTVCountry.SelectedIndex = cbTVCountry.Items.IndexOf(VideoCapture1.TVTuner_Country); |
Write TVTuner_TuneChannels event code.
| Delphi | procedure TForm1.VideoCapture1TVTunerTuneChannels(SignalPresent: Boolean; Channel, Frequency, Progress: Integer); begin pbChannels.Position := Progress; if SignalPresent then cbTVChannel.Items.Add(IntToStr(Channel)); if Channel = -1 then begin pbChannels.Position := 0; ShowMessage('AutoTune complete'); end; end; |
| C++/C# | private void VideoCapture1_OnTVTunerTuneChannels(object sender, AxVisioForge_Video_Capture_3.IVFVideoCaptureXEvents_OnTVTunerTuneChannelsEvent e) { pbChannels.Value = e.progress; if (e.signalPresent) cbTVChannel.Items.Add(e.channel.ToString()); if (e.channel == -1) { pbChannels.Value = 0; MessageBox.Show("AutoTune complete"); }; } |
Start tune process
| Delphi |
const KHz = 1000;
VideoCapture1.TVTuner_TuneChannels_Start; |
| C++/C# | const int KHz = 1000; const int MHz = 1000000; VideoCapture1.TVTuner_Read(); cbTVChannel.Items.Clear(); //If you select FM Tuning, you can specify the initial frequencies and the scanning pitch if ( (cbTVMode.SelectedIndex != -1) && (cbTVMode.Text == "FM Radio") ) { VideoCapture1.TVTuner_FM_Tuning_StartFrequency = 100 * MHz; VideoCapture1.TVTuner_FM_Tuning_StopFrequency = 110 * MHz; VideoCapture1.TVTuner_FM_Tuning_Step = 100 * KHz;}; VideoCapture1.TVTuner_TuneChannels_Start(); |

Once each channel is found, the event will be called and the channel will be added to the combobox. Also, you can specify the frequency and number of each channel manually.
Set channels by number
| Delphi | VideoCapture1.TVTuner_Channel := StrToInt(edChannel.Text); VideoCapture1.TVTuner_Apply; |
| C++/C# | VideoCapture1.TVTuner_Channel = Convert.ToInt32(edChannel.Text); VideoCapture1.TVTuner_Apply(); |
![]()
Set channel by frequency
| Delphi | VideoCapture1.TVTuner_Channel := -1; // must be -1 to use frequency VideoCapture1.TVTuner_Frequency := StrToInt(edChannel.Text); VideoCapture1.TVTuner_Apply; |
| C++/C# | VideoCapture1.TVTuner_Channel = -1; // must be -1 to use frequency VideoCapture1.TVTuner_Frequency = Convert.ToInt32(edChannel.Text); VideoCapture1.TVTuner_Apply(); |




