سؤال

أنا في المراحل المبكرة من تطوير أول تطبيق iPad الخاص بي ، وللبساطة ، كنت أستخدم حتى الآن AudioservicesPlaySystand والوظائف المرتبطة بها لتشغيل الأصوات. يعتمد الكود الخاص بي على فئة Soundeffect من مثال Metronome من Apple.

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

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

* Bump - لقد كنت أعمل في مشاريع أخرى خلال الأسابيع القليلة الماضية ، لكنني عدت إلى هذا الآن وأقدر حقًا إجابة. شكرًا.

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

المحلول

لا أعتقد أنه يمكنك تشغيل ملف mp3 على الجهاز باستخدام AudioServicesPlaySystemSound. ألق نظرة على توثيق لأنواع الملفات المدعومة. لست متأكدًا من سبب لعبهم بشكل صحيح في جهاز المحاكاة ، لكن كان لدي نفس المشكلة. حاول استخدام Avaudioplayer بدلاً من ذلك:

NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource: @"sound" withExtension: @"mp3"] error:&error];
if (error)  {
    NSLog(@"Error creating audio player: %@", [error userInfo]);
} else {
    [audioPlayer play];
}

[audioPlayer release];

نصائح أخرى

صادفت هذا السؤال عبر بحث Google. مشكلتي هي بالضبط كما هو مذكور في عنوان هذا السؤال: "AudioservicesPlaySystemsound لا يعمل على جهاز iPad". ومع ذلك ، فإن وصف القضية مختلف.

ببساطة ، بعد ترقية جهاز iPad إلى iOS 4.3 ، توقف AudioservicesPlaySystound عن العمل.

لقد وجدت أخيرًا الحل لإصداري من المشكلة ، لذلك نأمل أن يساعد هذا شخصًا آخر.

انتقل إلى تطبيق الإعدادات على iPad واختر General. اضغط على الأصوات. تأكد من ضبط "التغيير مع الأزرار" على ON. هذا سيصلح المشكلة.

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