سؤال

أرغب في تغيير الأغنية على My Mediaelent من Track1.mp3 إلى Track2.mp3. وهنا رمز:

MyMediaElement.Stop();
Uri u = new Uri("track2.mp3", UriKind.Relative);
MyMediaElement.Source=u;
MyMediaElement.Play();

تطبيق Mediaelement المصدر ولكن لن يبدأ فقط. ما قد يكون مخطئا في هذا الرمز؟

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

المحلول

حاول إعداد MyMymedielement.Autoplay إلى True، بمجرد التغييرات المصدر يجب أن تلعبها. يمكنك أيضا التحقيق في استخدام طريقة MediaElement.setsource () التي تأخذ دفقا بدلا من URI.

نصائح أخرى

كان لي نفس المشكلة. يمكنني ضبط Autoplay والمصدر في XAML وسيعمل، ولكن إذا قمت بتغيير المصدر في التعليمات البرمجية، فلن تفعل شيئا فقط.
استولت على حدث mediaoped من السيطرة.
المشكلة هي أنه يضرب اللعب () مباشرة بعد تغيير المصدر، وبالتالي فإن الحالة الحالية مغلقة. يستغرق عدة دورات على مدار الساعة لتغيير الحالة. لذلك، إذا وضعت اللعب ()؛ داخل هذا المعالج الحدث سيعمل.

لا يبدو أنك تفعل أي شيء خاطئ. إليك بعض التشخيصات التي سأحاولها: -

حدد Track2 كملف أولي يعمل هذا؟

إرفاق حدث MediaFailed، هل يتم إطلاق النار؟

قم بربط TextBlock على خاصية CurrentState لمراقبة كيفية تغيير الأمر CurrentState.

تعيين AutoPlay ل false ثم في معالج mediaopened أنت تفعل Play(). وبعد نوع الناس من ألمح نحو الحل هنا ولكن ليس بالضبط. يمكنك أيضا التعامل مع الحدث MediaFailed في حالة فشل الوسائط في فتح لسبب ما (لا يمكن العثور على ملف إلخ).

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