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

📄 output.m

📁 VLC媒体播放程序
💻 M
📖 第 1 页 / 共 2 页
字号:
            [o_stream_ttl_stp setEnabled: NO];            [[o_mux_selector itemAtIndex: 0] setEnabled: NO];            [[o_mux_selector itemAtIndex: 1] setEnabled: NO];            [[o_mux_selector itemAtIndex: 2] setEnabled: NO];            [[o_mux_selector itemAtIndex: 3] setEnabled: NO];            [[o_mux_selector itemAtIndex: 4] setEnabled: NO];            [[o_mux_selector itemAtIndex: 5] setEnabled: YES];            [[o_mux_selector itemAtIndex: 6] setEnabled: NO];            [[o_mux_selector itemAtIndex: 7] setEnabled: NO];        }        else if( [o_mode isEqualToString: @"UDP"] )        {            [o_stream_address setEnabled: YES];            [o_stream_ttl setEnabled: YES];            [o_stream_ttl_stp setEnabled: YES];            [[o_mux_selector itemAtIndex: 1] setEnabled: NO];            [[o_mux_selector itemAtIndex: 2] setEnabled: NO];            [[o_mux_selector itemAtIndex: 3] setEnabled: NO];            [[o_mux_selector itemAtIndex: 4] setEnabled: NO];            [[o_mux_selector itemAtIndex: 5] setEnabled: NO];            [[o_mux_selector itemAtIndex: 6] setEnabled: NO];            [[o_mux_selector itemAtIndex: 7] setEnabled: NO];            [o_sap_chkbox setEnabled: YES];            [o_slp_chkbox setEnabled: YES];            [o_channel_name setEnabled: YES];        }        else if( [o_mode isEqualToString: @"RTP"] )        {            [o_stream_address setEnabled: YES];            [o_stream_ttl setEnabled: YES];            [o_stream_ttl_stp setEnabled: YES];            [[o_mux_selector itemAtIndex: 1] setEnabled: NO];            [[o_mux_selector itemAtIndex: 2] setEnabled: NO];            [[o_mux_selector itemAtIndex: 3] setEnabled: NO];            [[o_mux_selector itemAtIndex: 4] setEnabled: NO];            [[o_mux_selector itemAtIndex: 5] setEnabled: NO];            [[o_mux_selector itemAtIndex: 6] setEnabled: NO];            [[o_mux_selector itemAtIndex: 7] setEnabled: NO];        }    }    if( ![[o_mux_selector selectedItem] isEnabled] )    {        [o_mux_selector selectItemAtIndex: 0];    }    [self outputInfoChanged: nil];}- (void)outputInfoChanged:(NSNotification *)o_notification{    NSString *o_mode, *o_mux, *o_mux_string, *o_announce;    NSMutableString *o_mrl_string = [NSMutableString stringWithString:@":sout=#"];    [o_mrl_string appendString: o_transcode];    if( [o_display state] == NSOnState )    {        [o_mrl_string appendString: @"duplicate{dst=display,dst="];    }    o_mode = [[o_method selectedCell] title];    o_mux = [o_mux_selector titleOfSelectedItem];    if ( [o_mux isEqualToString: @"AVI"] ) o_mux_string = @"avi";    else if ( [o_mux isEqualToString: @"Ogg"] ) o_mux_string = @"ogg";    else if ( [o_mux isEqualToString: @"MPEG PS"] ) o_mux_string = @"ps";    else if ( [o_mux isEqualToString: @"MPEG 4"] ) o_mux_string = @"mp4";    else if ( [o_mux isEqualToString: @"MPEG 1"] ) o_mux_string = @"mpeg1";    else if ( [o_mux isEqualToString: @"Quicktime"] ) o_mux_string = @"mov";    else if ( [o_mux isEqualToString: @"ASF"] ) o_mux_string = @"asf";    else o_mux_string = @"ts";    if( [o_mode isEqualToString: _NS("File")] )    {        if( [o_dump_chkbox state] == NSOnState )        {            o_mrl_string = [NSMutableString stringWithFormat:                            @":demux=demuxdump :demuxdump-file=\"%@\"",                            [o_file_field stringValue]];            [self setMRL:o_mrl_string];            return;        }        else        {                [o_mrl_string appendFormat:                        @"std{access=file,mux=%@,url=\"%@\"}",                        o_mux_string, [o_file_field stringValue]];        }    }    else if( [o_mode isEqualToString: _NS("Stream")] )    {        o_mode = [o_stream_type titleOfSelectedItem];        o_announce = @"";                if ( [o_mode isEqualToString: @"HTTP"] )            o_mode = @"http";        else if ( [o_mode isEqualToString: @"MMSH"] )        {            if ( [o_mux isEqualToString: @"ASF"] ) o_mux_string = @"asfh";            o_mode = @"mmsh";        }        else if ( [o_mode isEqualToString: @"UDP"] )        {            o_mode = @"udp";            if( [o_sap_chkbox state] == NSOnState )            {                if ( ![[o_channel_name stringValue] isEqualToString: @""] )                    o_announce = [NSString stringWithFormat:@",sap=%@", [o_channel_name stringValue]];                else                    o_announce = @",sap";            }            if( [o_slp_chkbox state] == NSOnState )            {                if ( ![[o_channel_name stringValue] isEqualToString: @""] )                    o_announce = [o_announce stringByAppendingFormat:@",slp=%@",                        [o_channel_name stringValue]];                else                    o_announce = [o_announce stringByAppendingString: @",slp"];            }        }        else if ( [o_mode isEqualToString: @"RTP"] )            o_mode = @"rtp";                    [o_mrl_string appendFormat:                        @"std{access=%@,mux=%@,url=\"%@:%@\"%@}",                        o_mode, o_mux_string, [o_stream_address stringValue],                        [o_stream_port stringValue], o_announce];    }    if( [o_display state] == NSOnState )    {        [o_mrl_string appendString: @"}"];    }    [self setMRL:o_mrl_string];}- (void)TTLChanged:(NSNotification *)o_notification{    intf_thread_t * p_intf = [NSApp getIntf];    config_PutInt( p_intf, "ttl", [o_stream_ttl intValue] );}- (IBAction)outputFileBrowse:(id)sender{    NSSavePanel *o_save_panel = [NSSavePanel savePanel];    NSString *o_mux_string;    if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"MPEG PS"] )        o_mux_string = @"vob";    else if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"MPEG 1"] )        o_mux_string = @"mpg";    else if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"AVI"] )        o_mux_string = @"avi";    else if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"ASF"] )        o_mux_string = @"asf";    else if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"Ogg"] )        o_mux_string = @"ogm";    else if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"MPEG 4"] )        o_mux_string = @"mp4";    else if ( [[o_mux_selector titleOfSelectedItem] isEqualToString: @"Quicktime"] )        o_mux_string = @"mov";    else        o_mux_string = @"ts";    NSString * o_name = [NSString stringWithFormat: @"vlc-output.%@",                         o_mux_string];    [o_save_panel setTitle: _NS("Save File")];    [o_save_panel setPrompt: _NS("Save")];    if( [o_save_panel runModalForDirectory: nil            file: o_name] == NSOKButton )    {        NSString *o_filename = [o_save_panel filename];        [o_file_field setStringValue: o_filename];        [self outputInfoChanged: nil];    }}- (IBAction)streamPortStepperChanged:(id)sender{    [o_stream_port setIntValue: [o_stream_port_stp intValue]];    [self outputInfoChanged: nil];}- (IBAction)streamTTLStepperChanged:(id)sender{    [o_stream_ttl setIntValue: [o_stream_ttl_stp intValue]];    [self TTLChanged:nil];}- (void)transcodeChanged:(NSNotification *)o_notification{    if( [o_transcode_video_chkbox state] == NSOnState )    {        [o_transcode_video_selector setEnabled: YES];        [o_transcode_video_bitrate setEnabled: YES];    }    else    {        [o_transcode_video_selector setEnabled: NO];        [o_transcode_video_bitrate setEnabled: NO];    }    if( [o_transcode_audio_chkbox state] == NSOnState )    {        [o_transcode_audio_selector setEnabled: YES];        [o_transcode_audio_bitrate setEnabled: YES];        [o_transcode_audio_channels setEnabled: YES];    }    else    {        [o_transcode_audio_selector setEnabled: NO];        [o_transcode_audio_bitrate setEnabled: NO];        [o_transcode_audio_channels setEnabled: NO];    }    [self transcodeInfoChanged:nil];}- (void)transcodeInfoChanged:(NSNotification *)o_notification{    NSMutableString *o_transcode_string;        if( [o_transcode_video_chkbox state] == NSOnState ||        [o_transcode_audio_chkbox state] == NSOnState )    {        o_transcode_string = [NSMutableString stringWithString:@"transcode{"];        if ( [o_transcode_video_chkbox state] == NSOnState )        {            [o_transcode_string appendFormat: @"vcodec=\"%@\",vb=\"%@\"",                [o_transcode_video_selector titleOfSelectedItem],                [o_transcode_video_bitrate stringValue]];            if ( [o_transcode_audio_chkbox state] == NSOnState )            {                [o_transcode_string appendString: @","];            }        }        if ( [o_transcode_audio_chkbox state] == NSOnState )        {            [o_transcode_string appendFormat: @"acodec=\"%@\",ab=\"%@\"",                [o_transcode_audio_selector titleOfSelectedItem],                [o_transcode_audio_bitrate stringValue]];        }        [o_transcode_string appendString:@"}:"];    }    else    {        o_transcode_string = [NSString stringWithString:@""];    }    [self setTranscode: o_transcode_string];    [self outputInfoChanged:nil];}- (IBAction)announceChanged:(id)sender{    [o_channel_name setEnabled: [o_sap_chkbox state] || [o_slp_chkbox state]];    [self outputInfoChanged: nil];}@end

⌨️ 快捷键说明

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