Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 15:09   #1
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию Видео проигрватель

Написал проигрыватель да вот ошибки......может я неправильно работаю с компонентом MediaPlayer

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, OleCtrls, WMPLib_TLB,MMSystem;

type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    OpenDialog1: TOpenDialog;
    MediaPlayer: TWindowsMediaPlayer;
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure MediaPlayerNotify(Sender:TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
//MediaPlayer.display:=Form1;
SpeedButton1.GroupIndex:=1;
SpeedButton1.AllowAllUp:=true;
end;


procedure DimAvi(f:string; var w,h:integer);
var
fst:TFileStream;
header:record
RIFF:array[1..4] of char;
nul:array[1..5] of LongInt;
AVIH:array[1..4] of char;
nu2:array[1..9] of LongInt;
Width:LongInt;
Height:LongInt;
end;

begin
fst:=TFileStream.Create(f,fmOpenRead);
fst.Read(header,sizeof(header));
w:=header.Width;
h:=header.Height;
fst.Destroy;
end;




procedure TForm1.SpeedButton2Click(Sender: TObject);
var
top,left:integer;
width,height:integer;
mw,mh:integer;
kh,kw:real;
k:real;

begin
OpenDialog1.Title:='Vibor Klipa';
if not OpenDialog1.Execute
then exit;
DimAvi(OpenDialog1.fileName,width,height);
mh:=SpeedButton1.Top-10;
mw:=Form1.clientWidth;
if mh>height
then kh:=1
else kh:=mh/height;

if mw>width
then kw:=1
else kw:=mw/width;

if kw<kh
then k:=kw
else k:=kh;

width:=Round(width*k);
height:=Round(height*k);

left:=(Form1.clientWidth-width)div 2;
top:=10;

MediaPlayer.FileName:=OpenDialog1.FileName;
MediaPlayer.Open;
MediaPlayer.DisplayRect:=Rect(left,top,width,height);
end;


procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if SpeedButton1.Down then
begin
MediaPlayer.Play;
SpeedButton1.Hint:='Stop';
end
else begin
MediaPlayer.Stop;
SpeedButton1.Hint:='Play';
end;
end;

Procedure TForm1.MediaPlayerNotify(Sender:TObject);
begin
if (MediaPlayer.Mode=mpStopped)
and
 SpeedButton1.Down
then
SpeedButton1.Down:=false;
end;

end.
А вот ошибки:
Изображения
Тип файла: jpg error.JPG (73.5 Кб, 148 просмотров)
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 16.09.2010, 15:33   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Используй имя MediaPlayer1
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 16.09.2010, 15:35   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
TWindowsMediaPlayer;
Это что за звэрь?
Помоему стандартный имеет класс TMediaPlayer; В какой делфи такое? Какая у тя версия?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 15:40   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

TC, наверно импортировал ...WMPLib_TLB
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 16.09.2010, 15:55   #5
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Используй имя MediaPlayer1
Так я ему имя дал MediaPlayer

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это что за звэрь?
Помоему стандартный имеет класс TMediaPlayer; В какой делфи такое? Какая у тя версия?
Это я установил компонент стандартный ActiveX

Delphi 7
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...

Последний раз редактировалось Stilet; 16.09.2010 в 16:26.
Claster вне форума Ответить с цитированием
Старый 16.09.2010, 16:17   #6
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от Claster Посмотреть сообщение
Так я ему имя дал MediaPlayer
гм-м... может так заметнее будет: MediaPlayer1
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 16.09.2010, 16:28   #7
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
гм-м... может так заметнее будет: MediaPlayer1
Да не ты не понял сам компонент и называется в свойстве name не MediaPlayer1 а MediaPlayer

MediaPlayer: TWindowsMediaPlayer;
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 16.09.2010, 16:29   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это я установил компонент стандартный ActiveX
У-у-у. В таком случае пошастай по свойствам, посмотри какие есть может по названию угадаешь какое подходит
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 19:34   #9
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

идей больше нет?
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 16.09.2010, 19:39   #10
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от Claster Посмотреть сообщение
Да не ты не понял сам компонент и называется в свойстве name не MediaPlayer1 а MediaPlayer

MediaPlayer: TWindowsMediaPlayer;
Я-то как раз понял. НО! возможно система воспринимает имя "MediaPlayer", как зарезервированное слово. Поэтому попробуй сменить имя на какое-нибудь MedPlr
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео Базиля Свободное общение 3 13.01.2010 08:10
видео BAZA Мультимедиа в Delphi 13 01.02.2009 21:54
Видео sf911 Помощь студентам 6 05.06.2008 22:54
видео sf911 Свободное общение 1 05.06.2008 19:55
Видео Stanislav Свободное общение 0 17.11.2007 14:29