سؤال

هل هناك أي طريقة لتسجيل الصوت بجودة عالية؟

وكيف يمكنني قراءة معلومات المستخدم يقول شيئا؟ في تطبيق تسجيل الصوت يمكنك ان ترى مثل هذا المؤشر (أنا لا أعرف الاسم الصحيح لذلك).

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

المحلول

لتسجيل ورصد: يمكنك استخدام النشاط مسجل الصوت. وفيما يلي مقتطف من التعليمات البرمجية:

Intent recordIntent = new Intent(
                MediaStore.Audio.Media.RECORD_SOUND_ACTION);
            startActivityForResult(recordIntent, REQUEST_CODE_RECORD);

ليعمل مثال ممتاز على كيفية تسجيل الصوت والذي يتضمن رصد المدخلات، وتحميل المشروع ل Ringdroid مفتوحة المصدر: https://github.com/google/ringdroid

ونظرة على لقطات وسترى الشاشة.

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

نصائح أخرى

في هذه اللحظة، وهو سبب كبير لضعف جودة التسجيل الصوتي على الروبوت هو الترميز المستخدمة من قبل الطبقة MediaRecorder (الترميز AMR-NB). ومع ذلك، يمكنك الحصول على المضغوطة السمعية عبر الطبقة AudioRecord، وتسجيل ذلك في ملف مباشرة.

مساعد بروفة التطبيق يفعل ذلك لإنقاذ المضغوطة السمعية في ملف WAV - نلقي نظرة على RehearsalAudioRecord شفرة المصدر الصف.

ويوفر الدرجة RehearsalAudioRecord أيضا طريقة getMaxAmplitude، والتي يمكنك استخدامها للكشف عن الحد الأقصى لمستوى الصوت منذ آخر مرة قمت فيها استدعاء الأسلوب (كما يوفر MediaRecorder هذه الطريقة).

scroll top