EasyDelphi Q&A

.تم الانتقال للموقع الجديد . وسيبقى الموقع القديم هذا متاح للقراءة فقط حتى الانتهاء من نقل كل الاسئلة إلى الموقع الجديد

يمكنك طرح الاسئلة والنقاشات في الموقع الجديد. الذهاب للموقع الجديد


+2 تصويتات
179 مشاهدات

السلام وعليكم ورحمة الله وبركاته وبعد
حاولت إضافة إجراءات جديدة لمكون mediaplayer ولكن لم أعرف فهده هي محاولاتي

 

Type
Tmyhelper =class helper for tmediaplayer
Public
Procedure loadfromstream(stream:tstream)
Ebd;

في الإجراء
Procedure tmyhelper.loadfromstream(stream: tstream);
Var
S: tfilestream;
Filename:tfilename;
Begin
S:= tfilestream.create(filename,fmopenread);
Try
//S.read( s,sizeof(s));//loadfromstream
Finally
S.free;

End;

وفي إجراء loadfromfile
يكون كاتالي
 

Procedure tmyhelper.loadfromfile(const filename: tfilename);
Var
S: tfilestream;
Begin

S:=tfilestream.create(filename,openread);
Try
//S.copyfrom(s,sizeof(s));//loadfromstream
Finally
S.free;

End;



لم أعرف الكود الظي أضعه في الإجراء الدي يجعلني ٱحمل  مثلا ستريم أو ملف ثناءي أو حتى ملف  أي شيءالى المتغير ستريم
وشكرا لتعاونكم

سُئل في تصنيف Components بواسطة (430 نقاط) | 179 مشاهدات

11 إجابة

+1 تصويت
لم افهم السبب وراء ذلك اذا كان تريد تشغيل ملفات  hls   بامتداد m3u8 مثلا او تريد تشغيل ملف فيديو من موقع فالامر سهل ن شاء الله  حدد ما تريد بالضبط لنعرف كيف نساعدك :)
تم الرد عليه بواسطة (2,870 نقاط)
0
الحقيقية اريد تشغيل فيديو من قاعدة بيانات في السيرفر بواسطة مكون mediaplayerوليسwebbroser
كما أرغب في برمجة مشاهده فيديو من موقع يوتيوب.و التحميل منه ولم اعرف كيف
Var
Link: string:
Ms:tmemorystream;

Begin
Link:='';
Ms:=tmemorystream.create;
Link:=nethttprequest1.get(edit1.text,ms);
Ms.seek(0,sobeginning);
Mediaplayer.filename:=link;
Mediaplayer.play
Ms.free

End;
كل هدا للاندرويد  وشكرا لكم
+2

اولا الامر لا يتم بهذه الطريقة  ما يحتاجه المشغل الافتراضي هو الرابط المباشر فقط تاكد منه

ثانيا اذا كنت تستخدم الوندوز فحمل الكوداك التالي ونصبه لتستطيع تشغيل جميع الملفات

https://k-lite-codec-pack.fr.uptodown.com/windows/telecharger

للاندرويد هناك عدة حلول ابسطها المشغل الافتراضي عندك مشروع zeroPlayer عندك vlc وهو الافضل ان كنت تحتاج لتشغيل ملفات ذات الامتداد m3u8 عندك مكتبة alcino احسن اختيار هي ايضا

ثالثا بخصوص برمجة قارئ لليوتوب والتحميل منه فالامر بسيط  كل ما تحتاجه هو قنص الرابط المباشر -افضل حل استخدام التعابير القياسية - مع بعض التعديلات عليه حتلى يقبله المشغل   والتحميل فقط يكون  باستخدام الرابط المباشر

مثال على السريع

0
بارك الله فيكم على المساعدة
لدي نقاط أود توضيحها
قلت مشروعzero player وvlcهل هما مشاريع برمجت بالدلفي فإن كان كدلك فأرجوا أن تمنحي رابطها لأستفيد أكثر
مكتبةalcinoeسأحوال تحميلها لاحقا لأن النت عندي ضعيف
آسف للازعاج مثلا مكتبة alcinoeأو غيرها عندما تريد استعمالها هل يكون بتثبيتها في بيئة دلفي أم مجرد إضافة الوحدات في الدلفي او بطريقة اخرى فعندما أقرا مكتبه لا ادري كيفية استخدامها

ثالثا للقراءة من اليوتوب استعملت متغير من tmatch من أي وحدة هو  لم استطع تجربة الكود الدي منحتني لاني لم أعرف من أي وحدة ينتمي
وأكرر شكري
0

صورة توضيحيهظهر هدا الخطأ

+2

اولا بخصوص المشروع الاول  

https://up.top4top.net/downloadf-1425nhnkk1-zip.html
 ثانيا  tmatch موجودة في الوحدة  system.regularexpressions

ثالثا ال vlc عبارة عن ميثود فقط تضيفها لكن يجب ان يكون ال vlc منصب على جهاز الاندرويد


 procedure playwithvlc(Url: string);
var
  Intent: JIntent;
  Data: Jnet_Uri;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Data := TJnet_Uri.JavaClass.parse(StringToJString(Url));
  Intent.setDataAndType(Data, StringToJString('video/*'));
  Intent.setPackage(StringToJString('org.videolan.vlc'));
  try
    TAndroidHelper.Activity.startActivity(Intent);
  except
         ShowMessage ('VLC Player not found!');

  end;
end;

رابعا مكتبة alcinoe استعمالها يكون بتثبيتها في بيئة دلفي

خامسا  هناك طريقة اسهل اذا تريد مشاهدة اليوتوب فقط وهي كالاتي


ضع واب برواسر - بوتون  ضع داخل البوتون

webbrowser1.navigate(link);

link  نفترض هو هكذا

https://www.youtube.com/watch?v=56jiQOHP__Q

تغيره الى

https://www.youtube.com/embed/56jiQOHP__Q

وبس

بالتوفيق

0

ازعجتك كثيرا بالنسبة للجواب الرابع

حبذا يكون mediaplayerوليس webbroser حتى لا تظهر جميع صفحة اليوتوب 

فلقد جربت

link:=edit1.text
mediaplyer1.filename:=link
mediaplayer1.play;

طبعاedit1.text:='. Https://www.youtube/56...'رابط بدون استعلام? اسم متغير=

ظهرت نفس الرسالة ااسابقة لاأدري لمادا

 

وبارك الله فيكم على كل شيء

+1
  ميديا بلاير اعطيتك الطريقة في الرد الاول 
uses system.regularexpressios;
وضع الكود الذي اعطيتك  فقط 
0

صورةكتبت الكود مثلما هو باستخدام tmatch

 

ونفس الخطأ يظهر لا أدري لماذا

+2 تصويتات
تعمل عندي بدون مشاكل

جرب التطبيق  التالي

https://up.top4top.net/downloadf-1427uv71i1-rar.html
تم الرد عليه بواسطة (2,870 نقاط)
0

صورةلا أدري عند التحميل ايظا لا يحمل النت تشتغل عادي لا أدري لم كل هده المشاكل لي اريد ان أسألك الكود في tmatchلتشغيل الفيديو صحيح 

ماهو كود التحميل من اليوتوب مثلا 

أعلم ازعجتك أتعبتك كثيرا كثيرا كثيرا

أعلم آسف جدا

+1
لا لا ازعاج ولاشيء راح ارفع التطبيق على mega وجربه لاني عملت له deployment   اذا اشتغل معناه الخطا عندك بالكود

نعم هو الرابط المباشر لتحميل الفيديو  او قراءته اضفت لك التنقيح له  هو في الحقيقة يجلب كل الفورمات الموجودة
+1
آسف آسف آسف الخطأ مني  كيف حدث  اني ابقيت نفس التطبيق في الحاسوب ولم أعمل depeug من جديد بعد تغيير الكود لهدا يظهر الخطأ السابق نسيت أيف جدا

التطبيق يشتغل ببطأ لانه لابد من tthreadله

فالتطبيق أسمع صوت منقطع للفيديو بسبب ضعف النت عندي ولايظهر الصورة أظن سابرمج mediaplayer control ولا اكتفي بربطها في التصميم مع mediaplayer

آسف ماهو كود التحميل من اليوتيوب مثلا

بارك الله فيك اجهدتك كثيرا وشكرا لكم على ما تقدموه
+1

نعم ي برنامج يلزمه الثريد  طبعا لكي لا يتعارض مع visual componnent كود التحميل يكون بتمرير الرابط فقط  وارجاعه كستريم 

شوف هذا الموضوع كنت اجبت عنه 

https://easydelphi.com/qa/2657/best-way-to-using-tfilestream-for-big-file#a2658

 

+1 تصويت

تفضل جربه واعطيني خبر اذا استعصى عليك الامر  نصب التيم فيور واشوف المشكلة وين 

https://www.mediafire.com/file/e1w9lkvozbs16ac/almo7eb.rar/file

 

تم الرد عليه بواسطة (2,870 نقاط)
0
وجدت مشكل في mediaplayer controle لايظهر صور الفيديو
وكدلك في كود التحميل
فهدا رابط التطبيق
http://www.mediafire.com/file/oy9cjvqbha4iezp/Youtube.rar/file
+1 تصويت
جيد  اولا الباترن عملته على عجلة ممكن لا يتفق مع روابط اخرى لاني لم انقح جيدا

ثانيا الكود مجرب على هذا الفيديو    https://www.youtube.com/watch?v=56jiQOHP__Q

https://1.top4top.net/p_1429ti2t41.png
بخصوص الصورة ضيف تايمر فقط

وضع الكود الذي في الصورة لاعادة توجيه playermediacontrol الى parent
تم الرد عليه بواسطة (2,870 نقاط)
0
بالنسبة للتطبيق المرفق هل شاهدته مايهمني هو كود التحميل أظن أنه لايشتغل
0 تصويتات
بالنسبة لكود التحميل لم الاحظه راح اشوف المشكلة اين ان شاء الله
تم الرد عليه بواسطة (2,870 نقاط)
0 تصويتات

في كود التحميل عندك بعض الاخطاء   انك مررت الرابط الاصلي كما هو لذلك لا يتم التحميل

ثانيا انك تقوم بالتحميل لمكون اندي وذلك غير ممكن بسبب تغليف الحماية  https يلزمك اضافة ملفي dll

ثالثا انت لا تحتاجها ابدا باستخدامه لمكون tnethttpclient يفي بالغرض

رابعا يجب ان تمرر link الذي تم استخراجه والذي يتم به قراءة الفيديو

الحل

حذف idhttp

اعلان link كمتغير private

 private
    Link: string;

اليك الكود

procedure TForm1.Button2Click(Sender: TObject);
Var
  AFile: string;
  FS: TFileStream;
begin
  AFile := TPath.Combine(TPath.GetDocumentsPath + '/', '1.mp4');
  if Link <> EmptyStr then
  begin
    TThread.CreateAnonymousThread(
      procedure
      begin
        try
          FS := TFileStream.Create(AFile, fmCreate);
          FS.Position := 0;
          NetHTTPClient1.Get(Link, FS);
          TThread.Synchronize(TThread.CurrentThread,
            procedure
            begin
              Self.Caption := 'Downloading..........';
            end);
        finally
          FS.Free;
          Self.Caption := 'Done';
        end;
      end).Start;
  end
  else
  begin
    ShowMessage('You Have to press a play button first ');
  end;
end;

 

تم الرد عليه بواسطة (2,870 نقاط)
0
بارك الله فيكم

جربت كود mediaplayer controle 1.parent في حدث timer

لكن الفيديو لاتظهر الصورة جربت التطبيق على الهاتف وايظا محاكي memuعلى الحاسوب نفس النتيجه لاتظهر الصورة

وايظا مثلا في اليوتوب هناك عدة جوادات للفيديو الواحد كيف تحصل عليها

وشكرا لمجهودكم
0 تصويتات

حتى يكون جوابي دقيق   حمل الكوداك الاتي وقم بتنصيبه

https://k-lite-codec-pack.fr.uptodown.com/windows/telecharger

تم الرد عليه بواسطة (2,870 نقاط)
0
بالنسبة للحاسوب فهو منصبcodec وايظاvlc

بالنسبة لهاتفي فانا منصبmx playerفهو ايظا يعتبر من codec
0 تصويتات
يا اخي نصب هذا الكوداك لانه اخر نسخة ثانيا انا جربت المشروع الذي ارسلته لي وهو يعمل بشكل ممتاز كان ينقصك التايمر فقط تاكد من تفعيله فقط
تم الرد عليه بواسطة (2,870 نقاط)
0
انا أريد تشغيله في الهاتف هل يعني ادا ثبته على الحاسوب سيأخد الكودك منه ويضعه في نلف المشروع الخاص بالاندرويد ويشتغل تماما

مافهمته من كل هدا أن مكون mediaplayer controleهو عبارة عن وسيط بين الجهاز والmediaplayerبمعنى ادا جهازك هو الحاسوب ولم يكن منصب فيه اي كوداك فلن تظهر الصوره اي لن يعمل media controleونفس الشي بالنسبة للاندرويد

سابقا منحتني كود التشغيل بواسطة الvlcللاندرويد ولم ٱجربه لاني حينما بظأت في كتابة الكود  في البرامترظهر خطأ data:jnet_uri

خجلت أن أخبرك لم أعرف اي وحدة هو

فأول ماخطر ببالي بعدما فهمت مكونmedia controle هو أني أساعمل تطبيق خارجي أفضل لما يحتويه من مميزات وتحديثات

فهل هذا الكود يخصvlcأو بإمكان ربطه مع اي mediaplayerمنصب في الهاتف كmx player

وأخيرا سؤالي بخصوص الجودات من اليوتيوب

 

وشكرا لكم
0
انا احمل k-lite codec المرفق
نسيت أن اخبرك اني استعمل النت من الهاتف فقط فلا أملك خط للنت والمشكل أني حيث أقيم لاتشتغل حيث لاتوجد شبكة تغطية لدلم ابرمج للهاتف ثم اخرج للشارع لاجرب التطبيق

آسف هلا أخبرتني اسم الوحدة التي ينتمي اليهاjnet_uri وايظا هل هو خاص بالvlc playerأم يمكن أي ميديا بلاير

 

وشكرا لكم
0 تصويتات
نعم انا فهمان عليك اخي الغرض هو تجربة البرنامج على الكمبيوتر اذا اشتغل معاك ننتقل الى الهاتف الكوداك تحتاجه فقط لتشغيل ملفات معينة ذات امتدادات معينة m3u8 webm, mkv  flv اما mp4 ;i  فلا تحتاج الى الكوداك سواء في الوندوز او  الاندرويد الهدف هو التاكد من سلامة الكود

بخصوص الاسئلة اسال اخي كلنا مبتدئين اذا ما جاوبتك هناك اساتذة هنا سيجيبوك

الجوادت من اليوتوب امرها بسيط خليها  اخر مرحلة
تم الرد عليه بواسطة (2,870 نقاط)
0 تصويتات
موجودة في الوحدة Androidapi.JNI.Net

يجب ان يكون vlc منصب

اذا تحتاجه راح  اعدلك على الكود وابسطه . لتجربه. اعطيني خبر فقط
تم الرد عليه بواسطة (2,870 نقاط)
0
إذا أحببت أعطني الكود أرغب اليوم إن شاء الله في تجربته وأنتهي من مشكل videoplayer
0
طيب يا غالي انتظرني دقائق  واتمنى ينجح الامر لتغلق الموضوع واذا واجهت مشكلة افتح موضوع جديد من اجل التنظيم وحتى نستفيد منه  اذا احتجنا اليه

اسئلة متعلقة

+2 تصويتات
1 إجابة
+1 تصويت
4 إجابة
سُئل ديسمبر 2، 2019 في تصنيف fmx بواسطة nacertaker (240 نقاط) | 108 مشاهدات
+1 تصويت
1 إجابة
سُئل نوفمبر 12، 2019 في تصنيف fmx بواسطة xorpas (1,360 نقاط) | 51 مشاهدات
0 تصويتات
2 إجابة
سُئل أكتوبر 5، 2019 في تصنيف fmx بواسطة xorpas (1,360 نقاط) | 200 مشاهدات
0 تصويتات
2 إجابة
سُئل فبراير 5، 2019 في تصنيف fmx بواسطة NADIRE (870 نقاط) | 111 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

497 سؤال
752 إجابة
1,417 تعليق
271 مستخدم