سؤال

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

خصائص WAV:

معدل بت - 750 كيلو بت في الثانية
حجم عينة الصوت - 16 بت
القنوات - 1 (أحادي)
معدل عينة الصوت - 44 كيلو هرتز
تنسيق الصوت - PCM

المقتطف:

System.Media.SoundPlayer myPlayer = new System.Media.SoundPlayer(Captcha.Properties.Resources.sound1);
myPlayer.Play();

هل هذا بسبب الطريقة التي ألعب بها الملف أو الملف نفسه؟ شكرًا لك.

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

المحلول 3

لذا يبدو أن السبب في ذلك إما يمثل مشكلة في ملف WAV نفسه أو خطأ في .NET. على الأرجح ، إنها مشكلة في الملف وسأحاول إما العمل مع الملف لمعرفة ما إذا كان ذلك يساعد أو مجرد استخدام ملف آخر تمامًا. شكرا لك لمساعدتك كل شخص.

نصائح أخرى

يبدو أن مشكلة صوتية. جرب ملف WAV آخر.

هل تحصل على هذا الضجيج على Vista؟

لقد واجهت هذه المشكلة باستخدام WaveOut Win32 API. يستخدم PlaySound نفس المكتبة (WinMM) داخليًا لتشغيل الصوت.

تظهر هذه الضوضاء فقط على ملفات موجة معينة ، وعلى Windows Vista (وأعتقد أن Windows 7 أيضًا). إنه يعمل بشكل جيد على XP. أعتقد أنه خطأ في التنفيذ الجديد لتلك واجهات برمجة التطبيقات. إذا كنت تستخدم Windows Media Player لتشغيل ملفات WAV هذه ، فإنها تلعب بشكل جيد (على Vista) لأنني أعتقد أنها تستخدم واجهات برمجة تطبيقات DirectSound.

ليس لدي أي حل لهذا الآن وأنا أفكر في تغيير تنفيذي لاستخدام Directound في المستقبل.

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

حاول إعادة إنتاج المشكلة في ظروف متطابقة ولكن في آلة مختلفة.

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