⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v4l.cpp

📁 VLC媒体播放程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    size_combo->SetSelection(5);    subpanel_sizer->Add( size_checkbox, 0, wxALIGN_LEFT |                         wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( size_combo, 0, wxALIGN_RIGHT |                         wxALIGN_CENTER_VERTICAL );    static const wxString norm_array[] =    {        wxT("pal"),        wxT("secam"),        wxT("ntsc")    };    norm_checkbox = new wxCheckBox( common_subpanel,                                     Norm_Event,                                     wxU(_("Norm")) );    norm_combo = new wxComboBox( common_subpanel, Norm_Event, wxT(""),                                 wxPoint(20,25), wxSize( 120, -1),                                 WXSIZEOF(norm_array), norm_array,                                 wxCB_READONLY );    norm_combo->SetSelection(1);    norm_combo->SetToolTip( wxU(_( "Standard of the analog signal" )) );    subpanel_sizer->Add( norm_checkbox, 0, wxALIGN_LEFT |                         wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( norm_combo, 0, wxALIGN_RIGHT |                         wxALIGN_CENTER_VERTICAL );    frequency_checkbox = new wxCheckBox( common_subpanel,                                         FrequencyEnable_Event,                                         wxU(_("Frequency (kHz)")) );    frequency = new wxSpinCtrl( common_subpanel, Frequency_Event,                                wxT("479250") );    frequency->SetToolTip( wxU(_("The channel frequency in kHz" )) );    subpanel_sizer->Add( frequency_checkbox, 0, wxALIGN_LEFT |                         wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( frequency, 0, wxALIGN_RIGHT |                         wxALIGN_CENTER_VERTICAL );    common_subpanel->SetSizerAndFit( subpanel_sizer );    /* Stuff everything into the main panel */    panel_sizer->Add( common_subpanel, 1,                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );    panel->SetSizerAndFit( panel_sizer );    /* Update panel */    size_combo->Disable();    norm_combo->Disable();    frequency->Disable();    return panel;}wxPanel *V4LDialog::AudioPanel( wxWindow* parent ){    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,                                  wxSize(200, 200) );    wxStaticBox *panel_box = new wxStaticBox( panel, -1,                                   wxU(_("Audio options")) );    wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,                                                          wxVERTICAL );    wxStaticText *label;    wxFlexGridSizer *subpanel_sizer;    audio_subpanel = new wxPanel( panel, -1 );    subpanel_sizer = new wxFlexGridSizer( 2, 2, 20 );    audio_checkbox = new wxCheckBox( audio_subpanel,                                     AudioDevice_Event,                                     wxU(_("Audio device")) );    audio_device = new wxTextCtrl( audio_subpanel, ADevLocation,                                   wxT("/dev/dsp"),                                   wxDefaultPosition, wxSize( 120, -1 ),                                   wxTE_PROCESS_ENTER);    audio_device->SetToolTip( wxU(_("Audio device")) );    label = new wxStaticText( audio_subpanel, -1, wxU(_("Channel")) );    audio_channel = new wxSpinCtrl( audio_subpanel, AudioChannel_Event,                                    wxT("1") );    audio_channel->SetToolTip( wxU(_("Usually 0 is for mono "                                     "and 1 for stereo")) );    subpanel_sizer->Add( audio_checkbox, 0, wxALIGN_RIGHT |                                            wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( audio_device, 1, wxALIGN_RIGHT );    subpanel_sizer->Add( label, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( audio_channel, 0, wxALIGN_RIGHT |                         wxALIGN_CENTER_VERTICAL );    audio_subpanel->SetSizerAndFit( subpanel_sizer );    /* Stuff everything into the main panel */    panel_sizer->Add( audio_subpanel, 1,                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );    panel->SetSizerAndFit( panel_sizer );    /* Update panel */    audio_device->Disable();    audio_channel->Disable();    return panel;}wxPanel *V4LDialog::BitratePanel( wxWindow* parent ){    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,                                  wxSize(200, 200) );    wxStaticBox *panel_box = new wxStaticBox( panel, -1,                                   wxU(_("Bitrate options")) );    wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,                                                          wxVERTICAL );    wxFlexGridSizer *subpanel_sizer;    bitrate_subpanel = new wxPanel( panel, -1 );    subpanel_sizer = new wxFlexGridSizer( 2, 2, 20 );    bitrate_checkbox = new wxCheckBox( bitrate_subpanel,                                       BitrateEnable_Event,                                       wxU(_("Bitrate")) );    bitrate = new wxSpinCtrl( bitrate_subpanel, Bitrate_Event, wxT("3000") );    bitrate->SetToolTip( wxU(_("The average bitrate of the stream")) );    subpanel_sizer->Add( bitrate_checkbox, 0, wxALIGN_LEFT |                         wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( bitrate, 0, wxALIGN_RIGHT |                         wxALIGN_CENTER_VERTICAL );    maxbitrate_checkbox = new wxCheckBox( bitrate_subpanel,                                          MaxBitrateEnable_Event,                                          wxU(_("Maximum bitrate")) );    maxbitrate = new wxSpinCtrl( bitrate_subpanel, MaxBitrate_Event, wxT("3000") );    maxbitrate->SetToolTip( wxU(_("The maximum bitrate of the stream")) );    subpanel_sizer->Add( maxbitrate_checkbox, 0, wxALIGN_LEFT |                         wxALIGN_CENTER_VERTICAL );    subpanel_sizer->Add( maxbitrate, 0, wxALIGN_RIGHT |                         wxALIGN_CENTER_VERTICAL );    bitrate_subpanel->SetSizerAndFit( subpanel_sizer );    /* Stuff everything into the main panel */    panel_sizer->Add( bitrate_subpanel, 1,                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );    panel->SetSizerAndFit( panel_sizer );    /* Update panel */    bitrate->Disable();    maxbitrate->Disable();    return panel;}/***************************************************************************** * Events methods. *****************************************************************************/void V4LDialog::OnOk( wxCommandEvent& WXUNUSED(event) ){    mrl_combo->Append( mrl_combo->GetValue() );    EndModal( wxID_OK );}void V4LDialog::OnCancel( wxCommandEvent& WXUNUSED(event) ){    EndModal( wxID_CANCEL );}void V4LDialog::OnMRLChange( wxCommandEvent& event ){    //mrl = event.GetString();}/****************************************************************************** * Common panel event methods. ******************************************************************************/void V4LDialog::OnSizeEnable( wxCommandEvent& event ){    UpdateMRL();    size_combo->Enable( event.GetInt() );}void V4LDialog::OnSize( wxCommandEvent& event ){    UpdateMRL();}void V4LDialog::OnNormEnable( wxCommandEvent& event ){    norm_combo->Enable( event.GetInt() );    UpdateMRL();}void V4LDialog::OnNorm( wxCommandEvent& event ){    UpdateMRL();}void V4LDialog::OnFrequencyEnable( wxCommandEvent& event ){    frequency->SetRange( 0, 1200000 );    frequency->Enable( event.GetInt() );    UpdateMRL();}void V4LDialog::OnFrequency( wxCommandEvent& event ){    UpdateMRL();}/***************************************************************************** * Audio panel event methods. *****************************************************************************/void V4LDialog::OnAudioEnable( wxCommandEvent& event ){    audio_channel->SetRange( 0, 255 );    audio_device->Enable( event.GetInt() );    audio_channel->Enable( event.GetInt() );    UpdateMRL();}void V4LDialog::OnAudioChange( wxCommandEvent& event ){    UpdateMRL();}void V4LDialog::OnAudioChannel( wxCommandEvent& event ){    UpdateMRL();}/****************************************************************************** * Bitrate panel event methods. ******************************************************************************/void V4LDialog::OnBitrateEnable( wxCommandEvent& event ){    bitrate->SetRange( 0, 10000 );    bitrate->Enable( event.GetInt() );    UpdateMRL();}void V4LDialog::OnBitrate( wxCommandEvent& event ){    UpdateMRL();}void V4LDialog::OnMaxBitrateEnable( wxCommandEvent& event ){    maxbitrate->SetRange( 0, 10000 );    maxbitrate->Enable( event.GetInt() );    UpdateMRL();}void V4LDialog::OnMaxBitrate( wxCommandEvent& event ){    UpdateMRL();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -