سؤال

أريد تشغيل برنامج يسمى VLC في java والتحكم فيه أثناء التشغيل ، على سبيل المثال إذا نقر المستخدم على ❚❚ أو ►► زر ، أقوم بعمل مناسب محدد.

انا اجري VLC بهذا الرمز:

try
{
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec(VLCProgramAddFile + " udp://@:" + listeningPort);

    OutputStream out = p.getOutputStream();
    InputStream in = p.getInputStream();

    p.waitFor();
    System.out.println("End of VLC");
}
catch (Exception e)
{
    System.out.println("error in running VLC");
}

لقد سمعت عن روابط Java ، لكنني لا أعرف كيف تعمل في هذه الوظيفة.

هل كانت مفيدة؟

المحلول

من المحتمل أنك تبحث عن VLCJ ، هذا غلاف Java لـ VLC. يتيح لك تضمين مشغل وسائط VLC في تطبيق Java ، وبالتالي إضافة جميع عناصر التحكم الشخصية.

(لاحظ أنه بالنسبة لتطبيقات المستخدمين ، هذا أمر جيد ، لكن مكتبة VLCJ ليست مثالية ، يمكن أن تواجه العديد من المشكلات المنبثقة.)

تحرير: بالنسبة لمشروعي ، رأيت تسرب الذاكرة ومشكلات مع برامج طويلة المدى (مثيلات متعددة لعدة ساعات). لا سيما الحالات المتعددة لا تعمل مع بعض خيارات الترجمة (والتي تكون بشكل افتراضي).

نصائح أخرى

VLCJ هو ما أنت بعد نعم - إنه في الأساس غلاف جافا مستقيم حول libvlc. إذا كنت تستخدمها في العملية (خاصة إذا كنت تستخدم لاعبين متعددين في العملية) ، فستشاهد أحيانًا حوادث VM - هذا ليس خطأ VLCJ ، بل LiBVLC والمكتبات الأصلية التي تستخدمها تحتها بعض أخطاء الخيوط الدقيقة التي تعرض هذه المشكلات.

يمكنك تشغيلها بشكل موثوق مع مثيلات متعددة ، ولكن عليك القيام بذلك إلى استخدامه خارج العملية. نرى هنا لمحاولاتي الأولية للقيام بذلك. إنه عمل قليل من العمل ولكن بمجرد الذهاب ، يبدو أن الأمور تعمل بشكل جيد للغاية.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top