|
#1
|
|||
|
|||
TMediaPlayer (2?)
Здравствуйте все! Я бы хотел получить ответ на два моих вопроса, помогите пожалуйста.
1) Как сохранить файл wav, который находится в TMediaPlayer 2) Как воспроизвести видео без звука (желательно через TMediaPlayer) ...буду признателен за помощь |
#2
|
||||
|
||||
Вот ответ на твой второй вопрос:
Код: uses ... , MMSystem; const MCI_SETAUDIO = $0873; MCI_DGV_SETAUDIO_VOLUME = $4002; MCI_DGV_SETAUDIO_ITEM = $00800000; MCI_DGV_SETAUDIO_VALUE = $01000000; MCI_DGV_STATUS_VOLUME = $4019; WM_MYICONNOTIFY = WM_USER + 123; type MCI_DGV_SETAUDIO_PARMS = record dwCallback: DWORD; dwItem: DWORD; dwValue: DWORD; dwOver: DWORD; lpstrAlgorithm: PChar; lpstrQuality: PChar; end; var MciOpenParams :MCI_OPEN_PARMS; MciSetParams :Mci_Set_Parms; MciStatusParams :MCI_Status_PARMS; MciPlayParams :Mci_Play_Parms; MCIWindowParams :TMCI_Anim_Window_Parms; MciRectParams :MCI_ANIM_RECT_PARMS; MciSeekParams :Mci_Seek_Parms; ... procedure SetMPVolume(DeviceID:word; Volume: Integer); { Volume: 0 - 1000 } var p: MCI_DGV_SETAUDIO_PARMS; begin { Volume: 0 - 1000 } p.dwCallback := 0; p.dwItem := MCI_DGV_SETAUDIO_VOLUME; p.dwValue := Volume; p.dwOver := 0; p.lpstrAlgorithm := nil; p.lpstrQuality := nil; mciSendCommand(DeviceID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p)); end; Procedure play(str:string); begin mp.FileName:=str; mp.open; mp.play; SetMPVolume(mp.DeviceID,0); end; ... Вот и всё, нужно просто сделать громкость 0; Последний раз редактировалось <<D>>, 16.07.2007 в 01:09. |
#3
|
|||
|
|||
Выдает "Underclared identifier MCI_OPEN_PARMS" и все типы в var
И...кто-нибудь как сохранить wav файл из Медиа Плеера |
#4
|
||||
|
||||
Это ты скорее всего забыл в Uses написать модуль MMSystem
|
#5
|
||||
|
||||
Код:
procedure TForm1.btRecordClick(Sender: TObject); begin with Media do begin { Set FileName to the test.wav file to } { get the recording parameters. } FileName := 'd:\test.wav'; { Open the device. } Open; { Start recording. } Wait := False; StartRecording; end; end; procedure TForm1.btStopClick(Sender: TObject); begin with Media do begin { Stop recording. } Stop; { Change the filename to the new file we want to write. } FileName := 'd:\new.wav'; { Save and close the file. } Save; Close; end; end; THE CRACKER IS OUT THERE |
#6
|
|||
|
|||
Спасибо, 4KusNick, помогло.
А вто на счет первого вопроса: я написал в uses MMSystem, все равно пишет |
#7
|
||||
|
||||
Ладно, вот я написал полный кодинг проги:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,MMSystem, MPlayer; const MCI_SETAUDIO = $0873; MCI_DGV_SETAUDIO_VOLUME = $4002; MCI_DGV_SETAUDIO_ITEM = $00800000; MCI_DGV_SETAUDIO_VALUE = $01000000; MCI_DGV_STATUS_VOLUME = $4019; WM_MYICONNOTIFY = WM_USER + 123; type MCI_DGV_SETAUDIO_PARMS = record dwCallback: DWORD; dwItem: DWORD; dwValue: DWORD; dwOver: DWORD; lpstrAlgorithm: PChar; lpstrQuality: PChar; end; var MciOpenParams :MCI_OPEN_PARMS; MciSetParams :Mci_Set_Parms; MciStatusParams :MCI_Status_PARMS; MciPlayParams :Mci_Play_Parms; MCIWindowParams :TMCI_Anim_Window_Parms; MciRectParams :MCI_ANIM_RECT_PARMS; MciSeekParams :Mci_Seek_Parms; type TForm1 = class(TForm) mp: TMediaPlayer; OpenDialog1: TOpenDialog; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation procedure SetMPVolume(DeviceID:word; Volume: Integer); { Volume: 0 - 1000 } var p: MCI_DGV_SETAUDIO_PARMS; begin { Volume: 0 - 1000 } p.dwCallback := 0; p.dwItem := MCI_DGV_SETAUDIO_VOLUME; p.dwValue := Volume; p.dwOver := 0; p.lpstrAlgorithm := nil; p.lpstrQuality := nil; mciSendCommand(DeviceID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p)); end; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin if opendialog1.execurte then begin mp.FileName:=opendialog1.FileName; mp.Open; mp.Play; setmpvolume(mp.DeviceID,0); end; end; end. Кому я должен - всем прощаю!!!! |