Jump to content

Vorschau neuer Kinofilme über DVBViewer?


madwolf

Recommended Posts

HI Leute!

 

Zu diesem Thema finde ich leider nicht viel im Foum!

 

Ist das eigentlich möglich? Kann man über den DVBViewer eine Vorschau von den neuen Kinoflimen schauen?

 

Wenn ja - Wie denn??

 

Danke und lg

 

Mad

Link to comment

Warum setzt sich eigentlich keiner hin und probiert sich selber? So schwer ist das nicht und mit folgendem Code kann man beispielsweise die aktuellen Trailer von Apple laden und im DVBViewer anzeigen lassen:

 

program Apple;

uses SysUtils, Classes, WinInet;

procedure GetHTML(AUrl: string; ms: TMemoryStream); overload;
var
 databuffer: array[0..4095] of char;
 hSession, hfile: hInternet;
 dwindex, dwcodelen, dwread, dwNumber: cardinal;
 dwcode: array[1..20] of char;
 res: pchar;
begin
 ms.Clear;
 if pos('http://', lowercase(AUrl)) = 0 then
AUrl := 'http://' + AUrl;
 hSession := InternetOpen('InetURL:/1.0',
INTERNET_OPEN_TYPE_PRECONFIG,
nil,
nil,
0);
 if assigned(hsession) then
 begin
hfile := InternetOpenUrl(
  hsession,
  pchar(AUrl),
  nil,
  0,
  INTERNET_FLAG_RELOAD,
  0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile,
  HTTP_QUERY_STATUS_CODE,
  @dwcode,
  dwcodeLen,
  dwIndex);
res := pchar(@dwcode);
dwNumber := sizeof(databuffer) - 1;
if (res = '200') or (res = '302') then
begin
  while (InternetReadfile(hfile,
	@databuffer,
	dwNumber,
	DwRead)) do
  begin
	if dwRead = 0 then
	  break;
	databuffer[dwread] := #0;
	ms.Write(databuffer, dwread);
  end;
end;
if assigned(hfile) then
  InternetCloseHandle(hfile);
 end;
 InternetCloseHandle(hsession);
end;

function GetHTML(AUrl: string): string; overload;
var ms: TMemoryStream;
begin
 ms := TMemoryStream.Create;
 try
gethtml(AUrl, ms);
ms.Seek(0, 0);
setlength(result, ms.Size);
ms.Read(result[1], ms.Size)
 finally
ms.Free;
 end;
end;

function fat32name(const S: string): string;
var i: integer;
begin
 result := '';
 for i := 1 to length(s) do
if (s[i] in [#32..#128, #200..#255]) and (not (s[i] in ['/', '\', '*', '?', ':', '"', '+', #39, '<', '>', '|'])) then
  result := result + s[i]; // else result:=result+' ';
end;

function GetDescription(line: string): string;
var i: integer;
begin
 i := pos('movie-description', line);
 delete(line, 1, i);
 i := pos('<p>', line);
 delete(line, 1, i + 2);
 result := copy(line, 1, pos('<', line) - 1);
end;

function GetMovie(line: string): string;
var i: integer;
 s: string;
begin
 i := pos('trailer-content', line);
 delete(line, 1, i);
 while line > '' do
 begin
i := pos('http://movies.apple.', line);
if i = 0 then break;
delete(line, 1, i - 1);
s := copy(line, 1, pos('"', line) - 1);
i := pos('?', s);
if i = 0 then break; // no video
result := copy(s, 1, i - 1);
delete(line, 1, length(result));
 end;
end;

var line, title, poster, url: string;
 filename: string;
 i: integer;
 ms: TMemoryStream;
 Murl: TStringlist;
begin
 line := GetHtml('http://www.apple.com/trailers/home/feeds/just_added.json');

 while line > '' do
 begin
// Title ---
i := pos('title', line);
if i = 0 then break;
delete(line, 1, i + 7);
i := pos('"', line);
title := copy(line, 1, i - 1);
delete(line, 1, i);

// Poster ---
i := pos('poster', line);
if i = 0 then break;
delete(line, 1, i + 8);
i := pos('"', line);
poster := copy(line, 1, i - 1);
delete(line, 1, i);
// Url ---
i := pos('url', line);
if i = 0 then break;
delete(line, 1, i + 5);
i := pos('"', line);
url := GetHtml('http://www.apple.com' + copy(line, 1, i - 1));
delete(line, 1, i);

// Save Content ---
filename := fat32name(title);

Murl := TStringlist.create;
try
  Murl.Add('[InternetShortcut]');
  Murl.Add('URL=' + getmovie(url));
  Murl.Add('Description=' + getdescription(url));
  Murl.SaveToFile(filename + '.murl');
finally
  Murl.Free;
end;

ms := TMemoryStream.Create;
try
  GetHtml(poster, ms);
  ms.SaveToFile(filename + '.jpg');
finally
  ms.Free;
end;
 end;
end.

 

Peter

Link to comment
Warum setzt sich eigentlich keiner hin und probiert sich selber? So schwer ist das nicht und mit folgendem Code kann man beispielsweise die aktuellen Trailer von Apple laden und im DVBViewer anzeigen lassen:

 

....
....

 

Peter

 

und wo fügt man diesen code ein??? bin da leider nicht so bewandert! lg

Link to comment

DAnn solltest du besser die Finger davon lassen. Das Ganze ist z.Zt. bestenfalls ein "Proof of Concept" ,,, ach und bitte nicht solche ellenlange Posting im Koplettzitat wiederholen... Nettiquette you know ;)

 

Gruß

Pinbot

Link to comment
und wo fügt man diesen code ein???

In dein Delphi Programmierumgebung o:) und dann auf Kompilieren klicken.

 

Dann hast du eine .exe Datei viele *.murl und *.jpg Dateien und eine Virus Warnung von AntiVir ;)

 

Und dann kommt meiner Meinung nach das deutlich größte Problem. Man muss die richtigen Decoder finden und installieren um die .mov im DVBViewer wiedergeben zu können.

 

Das kleine Programm macht so was ähnliches wie der "Yahoo Trailer Plugin" (gibt es nicht mehr da er nicht mehr funktioniert).

http://www.DVBViewer.info/forum/index.php?...c=15789&hl=

Link to comment
Warum setzt sich eigentlich keiner hin und probiert sich selber? So schwer ist das nicht und mit folgendem Code kann man beispielsweise die aktuellen Trailer von Apple laden und im DVBViewer anzeigen lassen:

 

program Apple;


end.

 

Peter

 

Hi,

 

Delphi kostet Geld. Die trial ist auf 30 Tage begrenzt. Delphi ist ... uhm... strange ;)

 

Es waere viel sinnvoller eine allgemeingueltige plugin.dll zu schreiben und diese gegen http://www.lua.org zu linken. Je einfacher die Sprache, desto breiter wird die Basis.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...