Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.07.2007, 22:53
Lie Lie вне форума
Прохожий
 
Регистрация: 21.04.2007
Сообщения: 10
Репутация: 10
По умолчанию TMediaPlayer (2?)

Здравствуйте все! Я бы хотел получить ответ на два моих вопроса, помогите пожалуйста.
1) Как сохранить файл wav, который находится в TMediaPlayer
2) Как воспроизвести видео без звука (желательно через TMediaPlayer)
...буду признателен за помощь
Ответить с цитированием
  #2  
Старый 16.07.2007, 01:02
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Вот ответ на твой второй вопрос:

Код:

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  
Старый 16.07.2007, 05:15
Lie Lie вне форума
Прохожий
 
Регистрация: 21.04.2007
Сообщения: 10
Репутация: 10
По умолчанию

Выдает "Underclared identifier MCI_OPEN_PARMS" и все типы в var
И...кто-нибудь как сохранить wav файл из Медиа Плеера
Ответить с цитированием
  #4  
Старый 16.07.2007, 10:59
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Это ты скорее всего забыл в Uses написать модуль MMSystem
Ответить с цитированием
  #5  
Старый 16.07.2007, 11:13
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Код:
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  
Старый 16.07.2007, 11:50
Lie Lie вне форума
Прохожий
 
Регистрация: 21.04.2007
Сообщения: 10
Репутация: 10
По умолчанию

Спасибо, 4KusNick, помогло.
А вто на счет первого вопроса: я написал в uses MMSystem, все равно пишет
Ответить с цитированием
  #7  
Старый 16.07.2007, 13:50
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Ладно, вот я написал полный кодинг проги:

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.
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter