Projekt: Winfuture Mediadesk Freeware MediaCenter Software
#106
geschrieben 28. Juni 2005 - 13:25
Anzeige
#107 _gani7777_
geschrieben 28. Juni 2005 - 13:33
#108
geschrieben 28. Juni 2005 - 18:25
mach dafür in deiner software ne oberfläche, steuere damit dne player und versteck den vor dem anwender.
wenn du dir nun noch ein open source projekt aussuchst, dann kannste das direkt in deine software einbauen.
oder: du machst sowas für viele verschiedene player (bzw. die verbreitesten) und bittest in den einstellungen an den player zu wählen der eh schon auf dem rechner installiert ist.
die steuerung schon vorhandener player schränkt dich als programmierer natürlich ein, ich würd deshalb nach einem open source projekt umschau halten. dann kannst dir das selbst anpassen nach deinen wünschen ohne größere gefahr zu laufen, die rechte jemand anderes (im besonderen von firmen) zu verletzen und bist trotzdem wieder ungebunden und flexibel.
also einen dateibrowser bzw. playlist editor sollte so ein player ja schon haben. finde ich.
ciao
#109
geschrieben 28. Juni 2005 - 18:44
you are running an OS
you use a Browser
I know so much about you...
#110
geschrieben 28. Juni 2005 - 19:17
#111
geschrieben 28. Juni 2005 - 20:28
Zitat (tavoc: 28.06.2005, 19:44)
<{POST_SNAPBACK}>
das müsste dann normanbuaer selbst entscheiden ob er das will.
wenn cih mich in sachen lizensierung für open source aber richtig auskenne müsste es auch anders gehen. der player wird als eigenes programm geschrieben das offenliegt und angepasst ist für die closed source drum herum.
wenn dann das center nur wieder dne player aufruft und steuert, dann müsste man das center selbst glaube ich nicht offenlegen, normanbauer könnte sich die schnittstellen aber selbst bauen.
ich hoffe das stimmt so ansatzweise...
ciao
#112
geschrieben 28. Juni 2005 - 20:58
#113
geschrieben 28. Juni 2005 - 22:09
#114
geschrieben 28. Juni 2005 - 23:11
DVBCore ist auch das einzige was überhaupt DVB-S/DVB-T/DVB-C für sogut wie alle Karten einheitlich zur Verfügung stellt, aber man merkt den beigeschmack der C++ Programmierung. Es ist auch das einzige, was überhaupt bei Delphi zur Verfügung steht.
Du könntest mir ja schicken, was du bereits alles hast. Ich arbeite es ein, lasse einen Patch generieren oder schicke dir, das packet wieder zurück.
const (* Valid options for DVBParams. May be mixed*) SET_DISEQ = $0000001; //SetUp DiSEq data SET_TUNER = $0000002; //SetUp Tuner data SET_PIDS = $0000004; //SetUp PIDs Audio, Video, PCR // Be sure you supplied all PIDs before start capture. // if all 3 PIDs (Audio, Video, PCR) not equal zero then capture starts in Audio/Video mode. // if Video or PCR PID equals to zero then capture starts in Audio-only mode. // if Audio PID equals to zero then capture doesn't starts. SET_STARTCAPTURE = $0000018; //Start Capture AV SET_STOPCAPTURE = $0000008; //Stop Capture AV SET_COPYALLDATA = $0010000; //Copy whole TP_INFO structure to internal DVBCore Cache GET_PATINFO = $0000100; //Get Program Association Table (PMT PIDs, Channel IDs) GET_CATINFO = $0000200; //Get Condotion Access Table (All EMM PIDs) GET_PMTINFO = $0000400; //Get Program Map Table for specified channel (Audio, Video, PCR, ECM PIDs) GET_SDTINFO = $0000800; GET_ALLPMTINFO = $0001000; //Same as before but for all channels from current transponder GET_ALLTABLESINFO = GET_PATINFO or GET_CATINFO or GET_ALLPMTINFO or GET_SDTINFO; GET_TUNERDISEQINFO = $0002000; //Get current parameters from Tuner and DiSEq (allways from cache) GET_ALLINFO = GET_PATINFO or GET_CATINFO or GET_ALLPMTINFO or GET_SDTINFO or GET_TUNERDISEQINFO; GET_TRYFROMCACHE = $0100000; //Try Get info from DVBCore cache if data exists, otherwise get it from stream GET_ONLYFROMCACHE = $0200000; //Allways get info from cache (even it's invalid. Check appropriate flags to make sure data is valid) SET_FASTMODE = $1000000; //Fast getting info. Call DVBParams(NULL,SET_FASTMODE) after last use this mode! (**) (* Tip: You may mix some flags. for example: (SET_DISEQ | SET_TUNER | GET_ALLINFO| SET_PIDS) *) (* It will setup DiSEq and Tuner then gat all info about this transponder, then setup PIDS of first channel.*) (**) LNB_VOLT00 = 0; (* zero volt (power off)*) LNB_POWEROFF = 0; (* zero volt (power off)*) LNB_VOLT13 = 13; (* 13 volt (vertical polarisation)*) LNB_POL_VERT = 13; (* 13 volt (vertical polarisation)*) LNB_VOLT18 = 18; (* 18 volt (horizontal polarisation)*) LNB_POL_HORZ = 18; (* 18 volt (horizontal polarisation)*) VITERBI_AUTO = 0; (* DVB-S: automtic detection of viterbi rate*) VITERBI_RATE_1_2 = 1; (* DVB-S: viterbi rate: 1/2*) VITERBI_RATE_2_3 = 2; (* DVB-S: viterbi rate: 2/3*) VITERBI_RATE_3_4 = 3; (* DVB-S: viterbi rate: 3/4*) VITERBI_RATE_4_5 = 4; (* DVB-S: viterbi rate: 4/5*) VITERBI_RATE_5_6 = 5; (* DVB-S: viterbi rate: 5/6*) VITERBI_RATE_6_7 = 6; (* DVB-S: viterbi rate: 6/7*) VITERBI_RATE_7_8 = 7; (* DVB-S: viterbi rate: 7/8*) VITERBI_RATE_8_9 = 8; (* DVB-S: viterbi rate: 8/9*) DVB_C_QAM_16 =0; // DVB-C: Modulation: 16-QAM DVB_C_QAM_32 =1; // DVB-C: Modulation: 32-QAM DVB_C_QAM_64 =2; // DVB-C: Modulation: 64-QAM (default) DVB_C_QAM_128 =3; // DVB-C: Modulation: 128-QAM DVB_C_QAM_256 =4; // DVB-C: Modulation: 256-QAM DVB_CT_BW_6MHz =0; // DVB-C/T BandWidth 6MHz DVB_CT_BW_7MHz =1; // DVB-C/T BandWidth 7MHz DVB_CT_BW_8MHz =2; // DVB-C/T BandWidth 8MHz DVB_CT_BW_AUTO =3; // DVB-C/T Automatic BandWidth Detection DVB_CT_BW_NONE =4; // reserved DISEQC_NONE = $00; DISEQC_SIMPLE = $10; DISEQC_V1_0 = $20; // DiSEqC v1.0 Constants DISEQC_HIGH_NIBLE = $F0; DISEQC_LOW_BAND = $00; DISEQC_HIGH_BAND = $01; DISEQC_VERTICAL = $00; DISEQC_HORIZONTAL = $02; DISEQC_POSITION_A = $00; DISEQC_POSITION_B = $04; DISEQC_OPTION_A = $00; DISEQC_OPTION_B = $08; //For simple DiSEqC management mode DISEQC_V1_0_LNB1 = DISEQC_V1_0 or DISEQC_POSITION_A or DISEQC_OPTION_A; DISEQC_V1_0_LNB2 = DISEQC_V1_0 or DISEQC_POSITION_B or DISEQC_OPTION_A; DISEQC_V1_0_LNB3 = DISEQC_V1_0 or DISEQC_POSITION_A or DISEQC_OPTION_B; DISEQC_V1_0_LNB4 = DISEQC_V1_0 or DISEQC_POSITION_B or DISEQC_OPTION_B; //Simple Tone switches currently not supported DISEQC_SIMPLE_LNB1 = DISEQC_SIMPLE or DISEQC_POSITION_A; DISEQC_SIMPLE_LNB2 = DISEQC_SIMPLE or DISEQC_POSITION_B; SPECTRAL_INVERSION_AUTO = 2; (* automatic detection of spectral inversion*) SPECTRAL_INVERSION_ON = 0; (* spectral inversion*) SPECTRAL_INVERSION_OFF = 1; (* no spectral inversion*) (* const for wDataValid*) PAT_VALID =1; //info about PAT is valid CAT_VALID =2; //info about Condition Access in current structure is valid PMT_VALID =4; SDT_VALID =8; (*const for wCount, wChCount*) CURRENT_NONE = $FFFF; TPI_CA_COUNT =64; TPI_AUD_COUNT =16; TXT_MGZ_COUNT =4; TPI_CH_COUNT =128; TPI_NAME_LEN =64; //For AUD_PID->dwFlags DVB_AUDIO_ISO11172 =$00; DVB_AUDIO_ISO13818 =$01; DVB_AUDIO_AC3 =$02; DVB_AUDIO_TYPEMASK =$0F; type CA_INFO = packed record wCount: WORD; (*Quantity of PIDs*) wCurrent: WORD; //Current PID. For current EMM dont use this field. use Channel.wEMMCurrent instead! wCA_Type: packed array [0..TPI_CA_COUNT-1] of WORD; (*Type of CA system (i.e. Viaccess = 0x0500)*) wPID: packed array [0..TPI_CA_COUNT-1] of WORD; (*PID for CA*) end; AUD_PID = packed record wCount: WORD; (*Quantity of PIDs*) wCurrent: WORD; (*Current PID*) wPID: packed array [0..TPI_AUD_COUNT-1] of WORD; (*PID :)*) dwFlags: packed array [0..TPI_AUD_COUNT-1] of DWORD; //see DVB_AUDIO_* end; TXT_MGZ = packed record wCount: WORD; //Quantity of Magazines wCurrent: WORD; //Current Magazine wOpt: packed array [0..TXT_MGZ_COUNT-1] of WORD; //Option bits: 0-7 page number, 8-10 - magazine number, 11-15 - Teletext Type dwLang: packed array [0..TXT_MGZ_COUNT-1] of DWORD; //Language ID for Magazine end; CH_INFO = packed record wDataValid: WORD; //Flag for validating data in all fields except wSID and wPMT (validate these fields by TP_INFO.wDataValid) dwUserFlags:DWORD; //User defined flags or variable; wSID: WORD; //Channel ID wPMT: WORD; //PID for Program Map Table wTeletext: WORD; //Teletext PID. 0 if none wType: WORD; wScrambled: WORD; Ch_Name: packed array [0..TPI_NAME_LEN-1] of char; (*Channel Name*) Prov_Name: packed array [0..TPI_NAME_LEN-1] of char; (*Provider Name*) wPCR: WORD; //PID for Program Clock Reference wVideo: WORD; //Video PID Audio: AUD_PID; //Array of Audio PIDs TxtMgz: TXT_MGZ; //Array of Teletext Magazines wEMMCurrent:WORD; //Current EMM pid for current channel ECM: CA_INFO; //Array or ECM PIDs end; TP_INFO = packed record HdrVer: DWORD; //Structure version. Please check this for sure data is in expected form*) wDataValid: WORD; //Flag for validating data in wChCount, wChCurrent, all EMMs, all wPMT and all wSID*) dwUserFlags: DWORD; //User defined flags or variable DiSEqData: packed array [0..31] of BYTE; //Data for DiSEq bDiSEqLen: BYTE; //Length of DiSEq Data bDiSEqToneburst:BYTE; dwSymbRate: DWORD; //Symbol Rate of Transponder (DVB-S and DVB-C only) dwFreq: DWORD; //Frequency dwLNB_Power: DWORD; //Power for LNB (DVB-S only) dwInversion: DWORD; //Spectral Inversion dwLOF: DWORD; //LOF for DVB-S, QAM for DVB-C bF22KHz: BOOL; //ON/OFF 22KHz (DVB-S only) dwViterbi: DWORD; //Viterbi Rate (DVB-S only) wChCount: WORD; //Quantity of Channels of current transponder wChCurrent: WORD; //Current Channel Channel: packed array [0..TPI_CH_COUNT-1] of CH_INFO; //Channel Map EMM: CA_INFO;//Array of EMM PIDs wSatID: WORD; //it's a position of Satellite in degrees. i.e.: 0360, 0192, 0050.. //mustbe filled by application before set-up tuner if it supports DiSEqC plugins. wNetID: WORD; //Network ID wTSID: WORD; //Transport Stream ID end; pTP_INFO = ^TP_INFO; (*Main management function to SET/GET parameters about transponder and channels*) function DVBParams(TP_Info: pTP_INFO; Options: DWORD): DWORD; stdcall; external 'DVBCore.dll';
#115 _gani7777_
geschrieben 29. Juni 2005 - 14:31
Wirst du den Code veröffentlichen ?
#116
geschrieben 29. Juni 2005 - 14:35
Zitat (gani7777: 29.06.2005, 15:31)
nein!
#117
geschrieben 29. Juni 2005 - 14:38
Spaß beiseite...
Warum denn? Du könntest das doch ohne Probleme unter die GPL stellen...
#118 _Benjamin_
geschrieben 29. Juni 2005 - 14:44
würd mich ma interessieren
#119
geschrieben 29. Juni 2005 - 14:44
Ist eigentlich aber auch gar nicht das Thema hier.
#120
geschrieben 29. Juni 2005 - 14:47
Zitat
Da sollte es keine Probleme geben. Alles was ich tue, ist DirectShow benutzen
- ← C# - Registrywerte Auslesen Und Verarbeiten
- Programmierung
- Deutsche Visual-express-editions: Inhalt Wcu-ordner? →

Hilfe
Neues Thema
Antworten

Nach oben



