سؤال

هل قام أي شخص ببناء تطبيق QT S60 (الطبعة الثالثة، FP2) التي تلعب الفيديو (البث أو المحلي)؟

أريد أن ألعب الفيديو "في" عنصر واجهة مستخدم، وليس مع (قل) Qdesktopservices.

أعلم أن هناك وثائق حول كيفية القيام بذلك مع سيمبيان، مثل هنا و هنا لكنني ما زلت عالقا.

(الاعتذار مقدما للنشر المتبادل: لقد طلبت في مكان آخر، ولكن دون نجاح.)

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

المحلول

تشمل كيو تي 4 مجموعة من واجهات برمجة التطبيقات الوسائط المتعددة التي تسمى فونون، والتي تتيح لك القيام بذلك فقط. يتم تنفيذها حاليا لسيمبيان - بينما كيو تي ل S60 "برج" قبل النشرلا يشمل دعم فونون على سيمبيان، كيو تي 4.6 ستفعل.

في غضون ذلك، خيارك الوحيد هو استخدام Apis Symbian MMF مباشرة. على وجه التحديد، ستحتاج عنصر واجهة المستخدم الخاص بك - أو كائن مملوك به - إلى إنشاء مثيل CVideoPlayerUtility, وبالتالي سوف تحتاج إلى تنفيذ MVideoPlayerUtilityObserver. وبعد يتطلب API مشغل الفيديو العميل توفير RWindow لعرض الفيديو - يمكن الحصول على ذلك عن طريق الاتصال QWidget::winId(), ، الذي يعود CCoeControl* مؤشر. لذلك يمكنك الحصول على مقبض نافذة عن طريق الاتصال

RWindow& window = *static_cast<RWindow*>(widget->winId()->DrawableWindow())

كل ذلك في كل ذلك، يلعب الفيديو من تطبيق QT (أو بالفعل أي تطبيق) على Symbian يتطلب حاليا الكثير من العمل - خاصة إذا كنت ترغب في دعم إعادة الحجم الديناميكي و / أو إعادة تحديد موقع محتوى الفيديو. ملاحظة أيضا أن الطريقة التي تنفذ بها QT حاليا على Symbian تعني أن نقل الحاجيات الأخرى (جزئيا أو بالكامل) على رأس عنصر واجهة المستخدم لن يعمل بشكل صحيح - سيستمر الفيديو في الظهور في الأعلى. هذا يرجع إلى حقيقة أن الاتصال QWidget::winId() لا تسبب حاليا كيو تي لإنشاء نافذة سيمبيان أصلية، وسيتم تصحيحها في 4.6.

باختصار، ما لم تكن في عجلة من أمرك للقيام بذلك، فمن الأفضل أن تنتظر 4.6 بيتا المستحقة في غضون بضعة أسابيع.

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