Bonjour

debutant avec borland ,moins d une semaine mais qqs connaissances annexes , je me suis decidé à creer un petit player , pour le moment tout va bien mais je voudrais affiner la lecture en ajustant la resolution

je souhaiterais egalement recuperer la durée


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
MediaPlayer1->DeviceType = dtAutoSelect;
}
//---------------------------------------------------------------------------
// boite de dialogue et attribution de valeur
//-----------------------------------------------------
void __fastcall TForm1::BtAviSelectClick(TObject *Sender)
{
OpenDialog1->Execute();
OpenDialog1->FileName;
Memo1->Lines->Add(OpenDialog1->FileName);
NomAvi=OpenDialog1->FileName;
ComboBox2->Items->Add(NomAvi);
 
 
    // lancement auto du media apres selection
    TRect rec;
    rec.Left=0;
    rec.top=0;
    rec.Bottom=AviPanel->Height;
    rec.right=AviPanel->Width;
 
    MediaPlayer1->DeviceType = dtAutoSelect;
    MediaPlayer1->FileName = NomAvi;
             // "c:\\test.avi";
    MediaPlayer1->Display = AviPanel;
    MediaPlayer1->Open();
    MediaPlayer1->DisplayRect=rec;
    MediaPlayer1->Play();
 
}
//---------------------------------------------------------------------------
// lancer media player avec avi defini
//---------------------------------------------------------
 
void __fastcall TForm1::AviLancerClick(TObject *Sender)
 
{
MediaPlayer1->Pause();
 
Form1->Left=Screen->Width/2-350;
Form1->Top=Screen->Height/2-350;
Form1->Width = 700;
Form1->Height = 800;
 
AviPanel->Left=384;
AviPanel->Top=72;
AviPanel->Width = 300;
AviPanel->Height = 200;
 
TRect rec;
rec.Left=0;
rec.top=0;
rec.Bottom=AviPanel->Height;
rec.right=AviPanel->Width;
 
MediaPlayer1->DisplayRect=rec;
MediaPlayer1->Play();
}
 
//------------------------------------------------
// avi plein ecran
//---------------------------------------------
void __fastcall TForm1::AviPleinEcranClick(TObject *Sender)
{
MediaPlayer1->Pause();
 
Form1->Left=0;
Form1->Top=0;
Form1->Width = Screen->Width;
Form1->Height = Screen->Height;
 
AviPanel->Left=10;
AviPanel->Top=10;
AviPanel->Width = Form1->Width-20;
AviPanel->Height = Form1->Height-100;
 
TRect rec;
rec.Left=0;
rec.top=0;
rec.Bottom=AviPanel->Height;
rec.right=AviPanel->Width;
 
MediaPlayer1->DisplayRect=rec;
MediaPlayer1->Play();
 
}
 
 
//-------------------------
//  bouton stop
//---------------------------
 
void __fastcall TForm1::PauseClick(TObject *Sender)
{
MediaPlayer1->Pause();
}
//---------------------------------------------------------------------------
//-----------------------------------------------
//    fin mediaplayer
//-----------------------------------------------
//-------------------------------------------------------------

de cette maniere, la video occupe la totalité de l espace predefini sans tenir compte du ratio interne de la video

si vous avez une idée merci

je pense egalement ajouter la gestion de playlist et une barre de progression pour selectionner l endroit de lecture