www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

Мультимедиа

Как показать первый кадр AVI-файла.
Как узнать число кадров avi файла.
Как проигрывать mpeg файл.
Показываем секунды и минуты Audio CD.
Смена дисковода, откуда MediaPlayer проигрывает аудио CD.
Как заставить TMediaPlayer проигрывать одно и тоже бесконечно? AVI например?
Как проиграть звуковой файл в приложении?
Как воспроизвести wav-файл из ресурса (в EXE) ?
 
 
 
 
 
 
 
 




Вопрос:
Как узнать число кадров AVI файла, и выяснить как долго будет проигрывться этот файл?

Ответ:
В приведенном примере указано как получить эту информацию.

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
        MediaPlayer1.TimeFormat := tfFrames;
        ShowMessage('Number of frames = ' + IntToStr(MediaPlayer1.Length));
        MediaPlayer1.TimeFormat := tfMilliseconds;
        ShowMessage('Number of milliseconds = ' + IntToStr(MediaPlayer1.Length));
end;
 

Наверх к содержанию




Вопрос:
Как заставить TMediaPlayer проигрывать одно и тоже бесконечно? AVI например?
 

Ответ:
В примере AVI файл проигрывается снова и снова - используем событие MediaPlayer'а Notify

Пример:

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
        with MediaPlayer1 do
                if NotifyValue = nvSuccessful then
                        begin
                                Notify := True;
                                Play;
                        end;
end;
 

Наверх к содержанию




Вопрос:
Как показать первый кадр AVI-файла?

Ответ:
См. пример.
Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
        Application.ProcessMessages;
        MediaPlayer1.Open;
        Application.ProcessMessages;
        MediaPlayer1.Step;
        Application.ProcessMessages;
        MediaPlayer1.Previous;
end;
 

Наверх к содержанию



Вопрос:
Как проигрываеть MPEG файл в Delphi-программе?

Ответ:

Если в системе Windows MMSystem установлен декодер MPEG - используя компонент
TMediaPlayer

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
        MediaPlayer1.Filename := 'C:\DownLoad\rsgrow.mpg';
        MediaPlayer1.Open;
        MediaPlayer1.Display := Panel1;
        MediaPlayer1.DisplayRect := Panel1.ClientRect;
        MediaPlayer1.Play;
end;
 

Наверх к содержанию




Вопрос:
Как при проигрывании музыки с Audio CD показывать сколько прошло минут и секунд?

Ответ:
В примере время выводится по таймеру.

Пример:

uses MMSystem;

procedure TForm1.Timer1Timer(Sender: TObject);
var
        Trk : Word;
        Min : Word;
        Sec : Word;
begin
        with MediaPlayer1 do
                begin
                        Trk := MCI_TMSF_TRACK(Position);
                        Min := MCI_TMSF_MINUTE(Position);
                        Sec := MCI_TMSF_SECOND(Position);
                        Label1.Caption := Format('%.2d',[Trk]);
                        Label2.Caption := Format('%.2d:%.2d',[Min,Sec]);
                end;
end;
 

Наверх к содержанию



Вопрос:
Как сменить дисковод, откуда  MediaPlayer проигрывает аудио CD?

Ответ:
См. пример.

Пример:

MediaPlayer1.FileName := 'E:';
 

Как проиграть звуковой файл в приложении? Ivanuts Vasiliy 1.11.2001
ivanuts@altavista.net
Чтобы выполнить звук в Вашем приложении, необходимо воспользоваться функцией API PlaySound. При этом Вы можете вызывать и проигрывать как предопределенные системные звуки, так и собственные (записанные в файлах или расположенные в определенных ячейках памяти). Проигрывая звуки, Вы можете также определить поведение Вашего приложения путем определения способа проигрывания звука - Синхронно, Асинхронно; что определяет будет ли выполнение Вашего приложения остановленно или нет на период воспроизведения звука.

PlaySound(
pszSound : Variant, // Или имя файла, или адрес памяти, или константа системного события
hmod : THandle, // Дескриптор источника звука (должен быть 0, если fdwSound <> SND_RESOURCE
fdwSound : Word // Опция способа воспроизведения звука
)

Определение флага способа проигрывания звука:

SND_APPLICATION
Выполнение звука, используя специальные программы, асоциированные с файлами звуков.

SND_ALIAS
Использование в качестве параметра, переменной события системы из системного реестра или WIN.INI файла. Не используйте с SND_FILENAME или SND_RESOURCE.

SND_ALIAS_ID
Предопределенный звуковой идентификатор.

SND_ASYNC
Запуск звука в асинхронном режиме. Для завершения проигрывания асинхронно запущенного звука, вызовите PlaySound с набором pszSound равному 0.

SND_FILENAME
Параметр pszSound должен иметь имя файла.

SND_LOOP
Неоднократное выполнение звука до вызова PlaySound с набором параметров pszSound равному 0. Вы должны также определить флаг SND_ASYNC, чтобы указать асинхронное выполнение звука.

SND_MEMORY
Файл звуков события загружен в RAM. Параметр, определенный pszSound должен указать на источник звука в памяти.

SND_NODEFAULT
По умолчанию никакое заданное звуковое событие не используется.

SND_NOSTOP
Определенное звуковое событие переходит к следующему звуковому событию, которое уже выполняется. Если звук нельзя выполнить, потому что ресурс занят, функция немедленно возвращает FALSE.
Если этот флаг не определен, PlaySound попытается останавить исполняемый в настоящее время звук так, чтобы приложение могло использовать новый звук.

SND_NOWAIT
Если драйвер занят, функция немедленно прекратит свою работу.

SND_PURGE
Звук может быть приостановлен до последующего вызова. Если pszSound не 0, все определенные в функции звуки приостанавливаются.
Вы должны также определить дескриптор звука, чтобы приостановить события, назначенные SND_RESOURCE.

SND_RESOURCE
Параметр pszSound должен содержать идентификатор ресурса; hmod должен идентифицировать источник, который содержит ресурс.

SND_SYNC
Синхронное воспроизведение звукового события. PlaySound заканчивает свое действие сразу после завершения события.

Как засунуть в исполняемый файл wav-файл, и затем проиграть этот звук?

Прислал Костенко Сергей 3.11.2001

В файл MyWave.rc пишешь:
   MyWave RCDATA LOADONCALL MyWave.wav
Затем компилируешь
   brcc32.exe MyWave.rc, получаешь MyWave.res.
   
В своей программе пишешь:
   
{$R MyWave.res}
procedure RetrieveMyWave;
var
  hResource: THandle;
  pData: Pointer;
begin
  hResource:=LoadResource( hInstance, FindResource(hInstance, 'MyWave', RT_RCDATA));
  try
    pData := LockResource(hResource);
    if pData = nil then raise Exception.Create('Cannot read MyWave');
    // Здесь pData указывает на MyWave
    // Теперь можно, например, проиграть его (Win32):
    PlaySound('MyWave', 0, SND_MEMORY);
  finally
    FreeResource(hResource);
  end;
end;

Наверх к содержанию



 
 
 
 
 

57

Используются технологии uCoz
Используются технологии uCoz

Rambler's Top100 Rambler's Top100
Используются технологии uCoz

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz