آيفون (SDK 2.2):تقليص حجم التشغيل أثناء عدم تشغيل الموسيقى بشكل نشط مع AVFoundation؟

StackOverflow https://stackoverflow.com/questions/415442

سؤال

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

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

كيف أقوم بإعداده بحيث يمكن للمستخدم ضبط مستوى صوت التشغيل طالما أن التطبيق قيد التشغيل؟

شكرًا!

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

المحلول

وتبين يمكن تحقيق ذلك من خلال تخصيص أحد AVAudioPlayer مع أي ملف صوت صالح واستدعاء الأسلوب prepareToPlay، دون استدعاء أي وقت مضى طريقة play.

ويعمل تماما.

نصائح أخرى

<وأ href = "http://developer.apple.com/IPhone/library/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/AVAudioSession/setActive:error: "يختلط =" نوفولو noreferrer "> بدء تشغيل AudioSession و لا تتوقف عندما كنت لا تلعب الأصوات.

وهكذا تريد تعطيل المسابقة حجم التشغيل طالما أن التطبيق يعمل؟ وبالتالي فإن الضوابط الأجهزة سوف تعدل فقط أصوات تشغيل التطبيق؟

وأنا لا أعتقد أن هذا ممكن إلا إذا كنت "اللعب دائما الصوت" على سبيل المثال، العديد من الألعاب يلعبون دائما الموسيقى الخلفية أو ما إلى ذلك.

قد تتمكن من تحقيق ذلك من خلال تشغيل صوت بمستوى 0 باستمرار طالما أن تطبيقك قيد التشغيل.يمكنك بعد ذلك تشغيل مقاطع الصوت الخاصة بك فوقها.

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