Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. Site Elements
Webdesign

قم بإنشاء مشغل صوت HTML5 مخصص

by
Difficulty:IntermediateLength:LongLanguages:

Arabic (العربية/عربي) translation by Abdul Mutholib (you can also view the original English article)

خلال هذا البرنامج التعليمي أنا ذاهب ليكون تعريفك للصوت HTML5 ويظهر لك كيف يمكنك إنشاء الخاصة بك اللاعب.

إذا كنت ترغب في الحصول على اختصار ، يمكنك إلقاء نظرة على مشغل الصوت HTML5 الجاهز المتاح على Envato Market. فإنه يسمح لك بإنشاء قوائم التشغيل من مجموعة متنوعة من المصادر، ويأتي مع مجموعة واسعة من خيارات التخصيص.

HTML5 Audio Player with Playlist
مشغل الصوت HTML5 مع قائمة التشغيل

يمكن أن تجد الكثير من الخبراء HTML5 أيضا في الاستوديو Envato لمساعدتك.


مقدمة

حتى الآن ، كان تنفيذ الصوت في مشروع ويب عملية شاقة تعتمد بشكل كبير على المكونات الإضافية لجهات خارجية مثل Flash. منذ سيئة السمعة عدم القبول فون من البرنامج المساعد والأخبار أن Adobe لم يعد يدعم الفلاش للجوال، تبحث العديد من المطورين في طرق أخرى لإدراج الصوت في مشاريعها. هذا هو المكان الذي يتدخل فيه الصوت HTML5 لحل المشكلة.

على الرغم من توفر HTML5 معياراً لتشغيل ملفات الصوت على شبكة الإنترنت، لا يزال في بداياته وما زال طريقا طويلاً قبل أن يمكن أن توفر كل شيء أن الإضافات الأخرى مثل فلاش الصوت يوفر. ومع ذلك ، بالنسبة لمعظم الحالات ، أكثر من كافية.


أغنية Html5 بسيطة

أن أبسط طريقة لتنفيذ الصوت إلى صفحة ويب باستخدام HTML5 استخدام العلامة الصوتية الجديدة. أضف هذا إلى مستند HTML5 مع الشفرة التالية:

إذا كنت نلقي نظرة على التعليمات البرمجية أعلاه يمكنك مشاهدة أن قد أعلن <audio>العلامة وتعريف السمة ضوابط، بحيث لا نرى عناصر التحكم الافتراضية للاعب.</audio>

متداخلة في <audio>لدينا 2 'src' العلامات.</audio> واحد يعرف مسار MP3 والآخر يحدد شكل OGG. يتم استخدام التنسيق أغ لا سيما السماح للموسيقى للعب في فايرفوكس بسبب قضايا الترخيص لا يدعم فايرفوكس MP3 دون استخدام البرنامج المساعد. سلسلة النص المستعرض الخاص بك لا يدعم عنصر الصوت. يتيح للمستخدمين الذين لديهم متصفحات غير متوافقة معرفة ما يحدث.


مشغل الصوت HTML5 الافتراضي

سمات العلامة الصوتية Html5

فضلا عن الدعم العالمي HTML5 سمات العلامة كما تدعم مجموعة من السمات الفريدة لنفسها.

  • autoplay - يمكن ضبط هذا على "true" أو تركه فارغًا "" لتحديد ما إذا كان يجب تشغيل المسار تلقائيًا بمجرد تحميل الصفحة.
  • عناصر التحكم - كما هو موضح في المثال أعلاه ، يحدد هذا ما إذا كان يجب عرض عناصر التحكم الأصلية مثل "تشغيل ، إيقاف مؤقت" إلخ.
  • حلقة--وهذا يمكن تعيين إلى "حلقة" ويحدد ما إذا كان المسار ينبغي اللعب مرة أخرى بمجرد الانتهاء من ذلك.
  • التحميل المسبق--وهذا يمكن تعيينها إلى "تلقائي" (الذي يصف ما إذا كان ينبغي تحميل الملف في أقرب وقت تحميل الصفحة)، "بيانات التعريف" (التي توضح ما إذا كان عنوان المسار إلخ فقط بيانات التعريف، ينبغي أن تكون محملة)، 'بلا' (الذي يملي علينا أن المستعرض لا ينبغي تحميل الملف عندما تحميل الصفحة).
  • src - يمكن رؤية ذلك أيضًا في المثال أعلاه ويحدد عنوان URL للموسيقى التي يجب تشغيلها بواسطة العلامة الصوتية.

تضخ ما يصل إلى أحد عشر

في الخطوات القليلة الأخيرة ، نظرنا في أبسط أشكال الصوت HTML5. عندما نبدأ في استخدام العلامة الصوتية مع جافا سكريبت يمكننا أن نبدأ بإنشاء بعض مشغلات الصوت حقاً مثيرة للاهتمام ومفيدة. دعونا نلقي نظرة على ما يمكن jQuery القيام به بالنسبة لنا. بعد لقد حددنا الوثيقة جاهزة في مسج، يمكننا إنشاء متغير صوت جديد للاحتفاظ بملف الصوت لدينا بسيطة مثل هذا:

هو حقا بهذه البساطة! ثم كلما أردنا تنفيذ إجراء على الصوت ونحن تشغيل باستخدام المتغير 'ميوديو'. في ما يلي قائمة بالإجراءات التي يمكننا اتخاذها باستخدام المتغير. دون ملاحظة عن هذه، سنقوم باستخدام بعض منهم في وقت لاحق توت عند إنشاء نحن لدينا مشغل الصوت...

إذا كنت تريد دالة ليتم استدعاؤها بمجرد الانتهاء من الصوت اللعب ثم يمكنك استخدام 'myaudio.addEventListener('ended',myfunc)'--وهذا سوف يدعو 'myfunc()' بمجرد انتهاء الصوت.


إنشاء مشغل الصوت HTML5: الترميز

الآن بعد أن أصبحت لديك بعض الخلفية على صوت HTML5 وفهم المبادئ الأساسية ، حان الوقت لوضعها موضع التنفيذ وإنشاء مشغل صوت HTML5 مخصص. سوف تفوت مرحلة التصميم كما أنها خارج نطاق هذا البرنامج التعليمي، ولكن يمكنك تحميل التعليمات البرمجية المصدر المصاحب وتصفح عن طريق مديرية الأمن العام للحصول على فكرة عن كيفية وضعها معا.

يتكون الجزء العلوي من المستند من HTML5 doctype. Yahoos CSS Reset ، خط Google على الويب "Lobster" للعنوان. ثم لدينا أحدث jQuery وملف جافا سكريبت المخصص js.js. فنالي لدينا html5slider.js الذي يسمح لعرض نوع نطاق الإدخال HTML5، ونحن سوف تستخدم للغسيل الصوت فايرفوكس.

بعد العنوان h1 لقد خلقت div مع فئة من "حاوية" و "التدرج". لقد خلقت فئة منفصلة من التدرج كهذا سوف يمكن إعادة استخدامها على بعض العناصر الأخرى. ضمن ".container" لقد أضفت صورة (والتي ستكون غلاف الألبوم) ، فإن علامات الربط الثلاث ستعمل كعناصر تحكم للاعب. فيما بينها ، ستجد حقل إدخال نطاق جهاز الغسيل / HTML5.


إنشاء مشغل الصوت HTML5: أنماط

بدلاً من أن تذهب من خلال كل جانب من المغلق، أنا ذاهب إلى تعطيك لمحة عامة، وملاحظة أي أجزاء معينة قد تحتاج إيلاء الاهتمام ل.

في الكود أدناه ، قمت بإنشاء التدرج للاعب الذي تم إنشاؤه باستخدام محرر CSS التدرج. ثم لقد تم إنشاؤها للاعب ".container" مع بعض التحولات CSS3.

ستلاحظ أيضًا أنني استخدمت سمة تغيير حجم مربع CSS3 التي تم تعيينها على "مربع الحدود". هذا يسمح لحشو 10px حول الحاوية ليتم تضمينها في العرض الذي أعلنته ، في هذه الحالة 427 بكسل. إذا لم أكن قد اعتدت هذا الحشو ستضاف إلى 427px مما يجعل الحاوية أكبر مما أريد فعلا. أصبح ممارسة شائعة في هذه الأيام تطبيق * {حجم مربع: مربع الحدود؛} مما يجعل فعلا عن طريقة أكثر بديهية للتصميم.

لقد أضفت أيضًا بعض انتقالات CSS3 إلى ".coverlarge" للسماح ببعض التحولات اللطيفة عند فتح المشغل لأول مرة. قد تبدو CSS قليلاً في البداية ، لكن الكثير منها عبارة عن بادئات متصفح محددة للتأكد من أن مشغل الصوت يبدو ويعمل بنفس الطريقة في مختلف المتصفحات.


كيف ينبغي أن ننظر مشغل الصوت في هذه المرحلة

بمجرد اكتمال حاوية المشغل ، فقد حان الوقت لإنشاء عناصر التحكم الفعلية. تم إنشاء غالبية الأزرار باستخدام النقوش المتحركة CSS

للأسف أي لا بعد دعم HTML5 نطاق الإدخال حتى لقد قررت عدم إظهار الغسيل الصوتية لمستخدمي إنترنت إكسبلورر. إذا كنت في وضع يمكنها من حيث أنه ليس من المقبول، يمكنك استخدام مربع التمرير في واجهة المستخدم مسج بطريقة مماثلة للطريقة لقد استعملت. لا يزال، أنا كنت اختار لمجرد إخفاء الغسيل، ومن ثم إدخال {عرض: none\9! هام؛} وهذا يخفي أساسا المدخلات من المستخدمين أي (راجع هذا الموضوع في "تجاوز سعة المكدس" لمزيد من المعلومات حول \9).

المشكلة مع منزلق النطاق HTML5 أن فقط بعض المستعرضات تدعم التصميم المخصصة لذلك؛ أساسا بكت المتصفحات (كروم وسفاري). سيعرض كل من Opera و Firefox شريط تمرير نطاق قياسيًا ، للأسف. إذا كنت بحاجة إلى تصميم مخصص عبر جميع المتصفحات ، فيمكنك استخدام شريط تمرير jQuery UI كما ذكر سابقاً. يمكنك مشاهدة التصميم المخصص للمتصفحات بكت في الإدخال:: شريط التمرير-بكت--سمة الإبهام.


إنشاء مشغل الصوت HTML5: مسج

بمجرد الانتهاء من التصميم والعلامة ، يكون الوقت قد حان لجعل اللاعب ينبض بالحياة. يمكننا القيام بذلك باستخدام jQascery إطار javascript. عندما أعلنت وثيقة مسج جاهزة، ونحن إنشاء بعض المتغيرات التي يمكننا تخزين كائنات jQuery لدينا.

في متغير "الأغنية" أعلاه ، يمكنك أن ترى أننا أعلنا مسارين. أغ تنسيق MP3 وفايرفوكس للمتصفحات الأخرى. أقوم بعد ذلك بإنشاء جملة IF شرطية بحيث يمكننا التحقق مما إذا كان المستعرض يمكنه تشغيل ملفات MP3 أم لا. إذا كان يمكن، ثم نجعل المتغير "أغنية" المصدر المسار MP3-لم يكن ثم تقوم بتنسيق 'أغ'.

الأشياء التالية التي سنقوم بإنشائها هي وظائف النقر التي ستسمح لنا بتشغيل الموسيقى وإيقافها مؤقتًا. أنا استخدم play (عمل الصوت) لبدء تشغيل الصوت، ثم استخدام replaceWith أسلوب مسج الذي يحل محل أساسا على زر التشغيل مع زر الإيقاف المؤقت.

لقد أضاف أيضا الفئات "كوفيرلارجي" و "كونتينيرلارجي" إلى "حاوية" و "الغطاء". كما أضاف لقد انتقالات CSS3 هذه في وقت سابق في CSS هذا سيتم إضافة انتقال لطيفة عند بدء تشغيل الصوت للعب. تعمل وظيفة "الإيقاف المؤقت" بطريقة مماثلة ، ولكن بدون الانتقالات. عند النقر عليه ، فإنه يستبدل زر الإيقاف المؤقت مع زر "تشغيل".

زر كتم الصوت وصامتة تعمل على نحو مماثل للعب ووقفه الأزرار، ولكن استدعاء الإجراءات ذات الصلة واستبدال الأزرار بالبدائل المناسبة.

عندما ينقر المستخدم على زر "إغلاق" نطلق عليه jQuery لإزالة فئتي "containerLarge" و "coverLarge". سيخفي هذا الغطاء ويغلق المشغل احتياطيًا. ثم إيقاف اللاعب بواسطة استدعاء الإجراء pause() وإعادة تعيين كورينتيمي الصوت ليساوي 0. يؤدي هذا إلى تعيين المسار إلى البداية.

الآن حان الوقت للتحرك على الغسيل الصوتية التي أعطيت معرف "التماس". تتمثل الوظيفة الأولى في السماح لنا بنقل جهاز التنظيف إلى أي جزء من الصوت. ويتم ذلك عن طريق الكشف عن تغيير كلما شخص يتحرك الغسيل. ثم قمنا بتعيين song.currentTime لتتناسب مع جزء الأغنية التي انتقل إليها جهاز التنظيف. ونحن أيضا تعيين السمة الحد الأقصى تعكس مدة الأغنية.

الجزء الأخير من مسج جعل الغسيل "#seek" الانتقال إلى جانب مدة الصوت. نحن نقوم بذلك عن طريق إضافة مستمع حدث إليه وعند تحديث وقت الصوت نسميه الوظيفة. أنا وضعت متغير من "curtime" للحصول على الوقت الحالي للأغنية. ثم تحديث قيمة الغسيل تعكس موقف الوقت الحالي من الصوت.

وهناك لديك! لاعب HTML5 سمعية التي يمكن تنفيذها في الموقع الخاص بك أو التطبيق.


استنتاج

وكما ذكر آنفا، الصوت HTML5 لا تزال في بداياتها ولا يزال لديه مجال للتحسينات. في هذه اللحظة الصوت مصممة لعزف الموسيقى وسوف ولذلك دائماً دفق الصوت من الخادم الذي يؤدي في بعض المتصفحات لديها مشاكل مع تشغيل. إنها ليست مشكلة دائمًا ، ولكنها تعني أنها ستبدأ في بعض الأحيان في الدفع قبل تنزيل الصوت بالكامل.

يحتمل أن هذا يمكن أن يكون مشكلة إذا كنت تريد استخدام الصوت HTML5 لأشياء مثل تأثيرات الصوت في الألعاب أو تطبيقات الصوت المكثف. ولهذا السبب تأتي من أصدقائنا في جوجل مع أسلوب لتحسين نقاط الضعف علامة الصوت. قامت Google بإنشاء اقتراح وعرضه على W3C من أجل "Web Audio API". وهذا يثبت أن تكون أقوى كثيرا من HTML5 الأصلية الصوت، لكن المشكلة أنه في هذه المرحلة (هل يمكنك تخمين؟!) أنها لا تعمل إلا في كروم.

يمكنك قراءة المزيد عن واجهة برمجة تطبيقات Web Audio من Google ومشاهدة بعض الأمثلة على Google code أو الاطلاع على مواصفات الصوت على الويب.

أتمنى أن تكون قد استمتعت بالتعرف على صوت HTML5 وكيف يمكنك إنشاء لاعبين خاصين بك. لاعب بلدي يتضمن الضوابط الأساسية، ولكن لا يوجد شيء لإيقاف يمكنك إضافة المزيد من الميزات مثل التحكم بحجم الصوت، وحتى إضافة الحركات المخصصة الخاصة بك. مع قليل من الفكر والتجريب حقاً يمكنك إنشاء بعض مشغلات الصوت العظيم. تنزيل شفرة المصدر وسأتطلع إلى رؤية ما توصلت إليه!

وإذا كنت ترغب في مشاهدة المزيد من الخيارات للعمل مع مشغلات الصوت ووسائط الإعلام الأخرى في HTML5، تحقق من بنود الإعلام HTML5 Envato السوق.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.