delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف حساب طول ملف 'windowsmediapayer
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

كيف حساب طول ملف 'windowsmediapayer'
كما في 'mediaplayer.length
و عليكم السلام و رحمة الله
هلا شرحت سؤالك أكثر فالفكرة لم تصل
أول شيئ عليك أن تعرف أن طول الملف سيخزن في الملف نفسه عند عنوان ثابت أو متغير على حسب الصيغة .
لكن لكل ملف أو صيغة ( mp4, mp3 ,wmv.. ) لديه بنية مختلفة ..> تعقيد أكثر ..
يعني ان أردت عمل خوارزمية لاستخراج طول ملف فيديو فعليك أن تكون على دراية ببنية أغلب ملفات الفيديو (wmv,mp4,avi ,...) .. على الأقل الشهيرة .
لكن لكثرة هذه الصيغ من المستحسن أن تقوم بالاستعانة ببعض المكتبات الخاصة للتعامل مع الملتميديا :
هناك الكثير منها :
كود :
torry.net/pages.php?s=83
-----------------------------------------------------------------
هناك طريقة أسهل :
الاستعانة بالخدمات التي يقدمها الوينداوز (windows explorer)
عند فتح المجلد الذي يحتوي على ملف الفيديو ستشاهد في الأسفل بعض الملعلومات عن الملف
مثل حجم الملف , العنوان , الصيغة , مدة العرض , ....
كود :
http://im42.gulfup.com/PcLPc.png
PHP كود :
uses ComObj;

function 
GetFileDuration(AFile: string): string;
var
  
objShell, objFolder, objFolderItem: OLEVariant;
begin
{>> By SMP3 <<}
  try
    
objShell := CreateOLEObject('Shell.Application');
    
objFolder := objShell.Namespace(ExtractFilePath(AFile));
    
objFolderItem := objFolder.ParseName(ExtractFileName(AFile));

    
Result := objFolder.GetDetailsOf(objFolderItem, 27);

  finally
    
objFolderItem := UnAssigned;
    
objFolder := UnAssigned;
    
objShell := UnAssigned;
  
end;
end;