Microphone Permission: جوہر، رسائی کی اقسام اور کام کا اصول

مصنف: IT Sectr اشاعت: 2026-05-21 مطالعے کا وقت: 8 منٹ

Microphone Permission ایک نظامی اجازت ہے جو کسی ایپلیکیشن کے لیے ڈیوائس کے مائیکروفون تک رسائی حاصل کرنے کے لیے ضروری ہے۔ یہ آڈیو ریکارڈنگ، صوتی پیغامات، ویڈیو کالز اور اسپیچ ریکگنیشن کے لیے درکار ہے۔ Apple Developer Documentation, 2024 کے مطابق، تمام ایپلیکیشنز جو آڈیو کیپچر استعمال کرتی ہیں، وہ سسٹم ڈائیلاگ کے ذریعے صارف کی واضح رضامندی لینے کی پابند ہیں۔

اہم نکات

  • Microphone Permission کسی بھی ایپلیکیشن کے لیے لازمی اجازت ہے جو موبائل ڈیوائس پر آڈیو ریکارڈ کرتی ہے۔
  • Android API 23 سے رن ٹائم درخواست کے ساتھ Manifest.permission.RECORD_AUDIO استعمال کرتا ہے۔
  • iOS کو Info.plist میں NSMicrophoneUsageDescription کلید اور AVAudioSession.requestRecordPermission کال کی ضرورت ہے۔
  • مائیکروفون ایکٹیویشن کے لمحے میں درخواست (“صوتی پیغام ریکارڈ کریں” بٹن) منظوری کے امکانات بڑھاتا ہے۔
  • مائیکروفون کے ساتھ پس منظر میں کام کرنے کے لیے اضافی اجازتوں اور سخت جواز کی ضرورت ہے۔

Microphone Permission کا جوہر

Microphone Permission ایک رازداری کے تحفظ کا طریقہ کار ہے جو ڈیوائس کے مائیکروفون سے غیر مجاز آڈیو ریکارڈنگ کو روکتا ہے۔ موبائل پلیٹ فارم مائیکروفون کو سب سے حساس وسائل میں سے ایک مانتے ہیں، کیونکہ آڈیو ریکارڈنگ ذاتی گفتگو، آس پاس کے ماحول اور خفیہ معلومات کو کیپچر کر سکتی ہے۔

Android RECORD_AUDIO کو ایک خطرناک اجازت کے طور پر درجہ بند کرتا ہے، اور iOS کو Info.plist میں NSMicrophoneUsageDescription کلید کے لازمی اضافے کی ضرورت ہے۔ دونوں پلیٹ فارمز پر، درخواست رن ٹائم پر کی جاتی ہے اور صارف سسٹم سیٹنگز کے ذریعے کسی بھی وقت اجازت منسوخ کر سکتا ہے۔ سسٹم ریکارڈنگ اشارہ (iOS پر نارنجی نقطہ، Android 12+ پر سبز اشارہ) صارف کو اشارہ کرتا ہے کہ ایپلیکیشن اس وقت مائیکروفون استعمال کر رہی ہے۔

Pew Research Center (2024) کی ایک تحقیق کے مطابق، 54% موبائل ڈیوائس صارفین نے کم از کم ایک بار کسی ایپلیکیشن کو مائیکروفون تک رسائی سے انکار کیا ہے۔ بنیادی وجہ یہ سمجھ نہ آنا ہے کہ ایپ کو آڈیو ریکارڈنگ کی کیوں ضرورت ہے۔ لہذا، ڈویلپر کو مائیکروفون استعمال کے مقصد کو زیادہ سے زیادہ شفاف طریقے سے بیان کرنا چاہیے۔

Android پر مائیکروفون کی اجازت

Android پر مائیکروفون کی اجازت مینی فیسٹ میں RECORD_AUDIO کا اعلان کر کے اور ایپلیکیشن کوڈ میں رن ٹائم درخواست کے ذریعے حاصل کی جاتی ہے۔ Android 10 سے شروع ہو کر، مائیکروفون تک رسائی اضافی طور پر پس منظر کی ایپلیکیشنز کے لیے پابندیوں سے منظم ہوتی ہے۔

AndroidManifest.xml میں اعلان

پہلا قدم مینی فیسٹ فائل میں RECORD_AUDIO اجازت کا اعلان کرنا ہے۔ اس اعلان کے بغیر، رن ٹائم درخواست کا کوئی اثر نہیں ہوگا اور ایپلیکیشن مائیکروفون تک رسائی حاصل نہیں کر سکے گی۔

xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />

CAPTURE_AUDIO_OUTPUT ایک نظامی اجازت ہے جو تیسرے فریق کی ایپلیکیشنز کے لیے دستیاب نہیں ہے۔ یہ صرف سسٹم ایپلیکیشنز کے ذریعے آڈیو آؤٹ پٹ کیپچر کرنے کے لیے استعمال ہوتی ہے۔ عام ایپلیکیشنز کو مائیکروفون سے ریکارڈ کرنے کے لیے صرف RECORD_AUDIO کی ضرورت ہے۔

Kotlin میں رن ٹائم درخواست

مینی فیسٹ میں اعلان کے بعد، رن ٹائم درخواست کرنا ضروری ہے۔ مائیکروفون سے آڈیو ریکارڈ کرنے کے لیے AudioRecord استعمال کرنے کی ایک مثال دیکھیں۔

kotlin
private val recordAudioPermission =
    registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted ->
    if (granted) {
        startRecording()
    } else {
        showMicrophoneExplanation()
    }
}

fun startRecording() {
    val sampleRate = 44100
    val bufferSize = AudioRecord.getMinBufferSize(sampleRate,
        AudioFormat.CHANNEL_IN_MONO,
        AudioFormat.ENCODING_PCM_16BIT)
    val recorder = AudioRecord(MediaRecorder.AudioSource.MIC,
        sampleRate, AudioFormat.CHANNEL_IN_MONO,
        AudioFormat.ENCODING_PCM_16BIT, bufferSize)
    recorder.startRecording()
    // بفر میں آڈیو ڈیٹا ریکارڈ کرنا
}

ریکارڈنگ کی حالت کا انتظام

آڈیو ریکارڈنگ کی زندگی کے چکر کو صحیح طریقے سے سنبھالنا ضروری ہے۔ جب ایپلیکیشن Android 9 اور اس سے اوپر پس منظر میں جاتی ہے، تو مائیکروفون ریکارڈنگ سسٹم کے ذریعے موقوف کی جا سکتی ہے۔ Android 10 سے شروع ہو کر، پس منظر میں مائیکروفون تک رسائی اضافی طور پر محدود ہے: پس منظر میں ایپ ریکارڈنگ شروع نہیں کر سکتی اور فعال ریکارڈنگ موقوف کر دی جاتی ہے۔ پس منظر میں ریکارڈنگ کے لیے MediaProjection یا نوٹیفکیشن کے ساتھ Service کی ضرورت ہے۔

iOS پر مائیکروفون کی اجازت

iOS پر مائیکروفون کی اجازت Info.plist میں NSMicrophoneUsageDescription کلید اور AVAudioSession.requestRecordPermission طریقہ کار کی کال کے ذریعے ترتیب دی جاتی ہے۔ Apple درخواست ڈائیلاگ میں مائیکروفون استعمال کی وجہ کی لازمی وضاحت کا تقاضا کرتا ہے۔

Info.plist کی ترتیب

NSMicrophoneUsageDescription کلید کسی بھی ایپلیکیشن کے لیے لازمی ہے جو مائیکروفون تک رسائی کی درخواست کرتی ہے۔ اس کے بغیر، آڈیو ریکارڈ کرنے کی کوشش پر ایپلیکیشن کریش ہو جائے گی۔

xml
<key>NSMicrophoneUsageDescription</key>
<string>صوتی نوٹس ریکارڈ کرنے اور آڈیو پیغامات بھیجنے کے لیے ایپ کو مائیکروفون تک رسائی کی ضرورت ہے۔</string>

Swift میں درخواست

iOS پر مائیکروفون تک رسائی کی درخواست AVAudioSession کے ذریعے کی جاتی ہے۔ جواب موصول ہونے کے بعد، ایپلیکیشن آڈیو سیشن ترتیب دیتی ہے اور ریکارڈنگ شروع کرتی ہے۔

swift
import AVFAudio

func requestMicrophoneAccess() {
    AVAudioSession.sharedInstance().requestRecordPermission { granted in
        DispatchQueue.main.async {
            if granted {
                self.configureAudioSession()
                self.startAudioRecording()
            } else {
                self.redirectToSettings()
            }
        }
    }
}

private func configureAudioSession() {
    let session = AVAudioSession.sharedInstance()
    do {
        try session.setCategory(.playAndRecord, mode: .default)
        try session.setActive(true)
    } catch {
        print("Audio session error: \(error)")
    }
}

ریکارڈنگ کا اشارہ

iOS 14 اور اس سے اوپر، مائیکروفون استعمال کرنے والی ایپلیکیشن اسٹیٹس بار میں نارنجی اشارہ دکھاتی ہے۔ صارف دیکھ سکتا ہے کہ کون سی ایپلیکیشن اس وقت آڈیو ریکارڈ کر رہی ہے۔ اگر ایپلیکیشن بغیر کسی معقول وجہ کے پس منظر میں مائیکروفون استعمال کرتی ہے، تو Apple اپ ڈیٹ مسترد کر سکتا ہے۔ AVAudioSession آپ کو آڈیو سیشن کی قسم اور موڈ ترتیب دینے کی اجازت دیتا ہے، جو پس منظر میں منتقلی پر ایپلیکیشن کے رویے کا تعین کرتا ہے۔

آڈیو کیپچر کے منظرنامے

موبائل ایپلیکیشنز میں مائیکروفون استعمال کے منظرنامے متنوع ہیں: سادہ صوتی ریکارڈنگ سے لے کر ریئل ٹائم میں پیچیدہ آڈیو اسٹریم پروسیسنگ تک۔

صوتی پیغامات اور نوٹس

میسنجر اور نوٹ لینے والی ایپس مائیکروفون کو صوتی پیغامات ریکارڈ کرنے کے لیے استعمال کرتی ہیں۔ اس صورت میں، ریکارڈ بٹن دبانے پر Microphone Permission کی درخواست کی جاتی ہے۔ ریکارڈنگ مکمل ہونے کے بعد، آڈیو سیشن کو روکنا ضروری ہے تاکہ دوسری ایپلیکیشنز مائیکروفون استعمال کر سکیں۔ iOS پر AVAudioSession اور Android پر AudioManager آڈیو فوکس کا انتظام کرتے ہیں۔

اسپیچ ریکگنیشن

صوتی ان پٹ والی ایپلیکیشنز (تلاش، ڈکٹیشن، صوتی معاون) اسپیچ ریکگنیشن API کے ساتھ مل کر مائیکروفون استعمال کرتی ہیں۔ Android پر، یہ android.speech سے SpeechRecognizer ہے، iOS پر — Speech فریم ورک سے SFSpeechRecognizer۔ اسپیچ ریکگنیشن کے لیے ریکگنیشن سروسز (Android پر SPEECH، iOS پر SFSpeechRecognizer.requestAuthorization) کے لیے اضافی اجازت درکار ہو سکتی ہے۔

ویڈیو کالز اور سٹریمنگ

ویڈیو کالنگ ایپلیکیشنز (WebRTC، Zoom، Telegram) Camera Permission کے ساتھ Microphone Permission کی درخواست کرتی ہیں۔ اس تناظر میں، دونوں اجازتوں کو ایک ساتھ نہیں بلکہ ترتیب وار درخواست کرنا ضروری ہے، تاکہ صارف ڈائیلاگ سے مغلوب نہ ہو۔ WebRTC آڈیو اور ویڈیو کیپچر کے لیے getUserMedia استعمال کرتا ہے، لیکن موبائل پلیٹ فارمز پر پہلے سسٹم اجازتیں درکار ہیں۔

آڈیو سیشن کنفیگریشن سیٹنگز

معیاری ریکارڈنگ کے لیے، آڈیو سیشن کے پیرامیٹرز کو صحیح طریقے سے ترتیب دینا ضروری ہے۔ iOS پر، .playAndRecord زمرہ بیک وقت آواز چلانے اور ریکارڈ کرنے کی اجازت دیتا ہے۔ Android پر، AudioSource.MIC کا انتخاب مرکزی مائیکروفون سے کیپچر فراہم کرتا ہے، جبکہ AudioSource.VOICE_COMMUNICATION صوتی مواصلات کے لیے ریکارڈنگ کو بہتر بناتا ہے۔ مزید برآں، معیاری CD کوالٹی کے لیے 44100 Hz کا نمونہ لینے کی شرح اور PCM 16 بٹ فارمیٹ سیٹ کیا جا سکتا ہے۔

ریکارڈنگ میں رکاوٹوں کا انتظام

آڈیو ریکارڈنگ کے دوران، سسٹم میں رکاوٹیں آ سکتی ہیں: آنے والی کال، الارم ایکٹیویشن، کسی دوسری ایپلیکیشن سے نوٹیفکیشن۔ iOS پر، AVAudioSessionDelegate beginInterruption اور endInterruption کو سنبھالتا ہے۔ Android پر، AudioManager.OnAudioFocusChangeListener ایپلیکیشن کو آڈیو فوکس کے کھونے یا واپسی کے بارے میں مطلع کرتا ہے۔ رکاوٹوں کا صحیح انتظام غیر متوقع واقعات کے دوران ریکارڈنگ کو محفوظ کرنے اور ڈیٹا کے نقصان سے بچنے کی اجازت دیتا ہے۔ فوکس کھونے پر ریکارڈنگ کو موقوف کرنے اور اس کی واپسی پر صارف کو اطلاع دے کر دوبارہ شروع کرنے کی سفارش کی جاتی ہے۔

آڈیو کیپچر کی اصلاح

آڈیو کیپچر کی اصلاح میں نمونہ لینے کی شرح، بفر کا سائز اور انکوڈنگ فارمیٹ کی ترتیب شامل ہے۔ صوتی پیغامات کے لیے، 44100 Hz فریکوئنسی اور مونو چینل کافی ہے۔ اسپیچ ریکگنیشن کے لیے، 16000 Hz فریکوئنسی درکار ہو سکتی ہے۔

iOS پر، ریکارڈنگ لیٹنسی ترتیب دینے کے لیے AVAudioSession.setPreferredIOBufferDuration استعمال کریں۔ چھوٹا بفر لیٹنسی کم کرتا ہے لیکن CPU لوڈ بڑھاتا ہے۔ Android پر، AudioRecord.getMinBufferSize دیے گئے پیرامیٹرز کے لیے کم از کم بفر سائز لوٹاتا ہے۔ زیادہ سسٹم لوڈ کے تحت ریکارڈنگ کرتے وقت ڈیٹا کے نقصان سے بچنے کے لیے اس کم از کم سے کم نہ ہونے والا بفر استعمال کرنے کی سفارش کی جاتی ہے۔

مائیکروفون کے ساتھ کام کرنے کے بہترین طریقے

بہترین طریقے Microphone Permission کے لیے صارف کے اعتماد میں اضافہ اور پلیٹ فارم کی ضروریات کو پورا کرنے پر مرکوز ہیں۔

ریکارڈنگ سے پہلے مقصد کی وضاحت کریں

Microphone Permission کی درخواست کرنے سے پہلے، ایک اسکرین دکھائیں جو بتائے کہ ایپ کو مائیکروفون کی کیوں ضرورت ہے اور ریکارڈنگ کیسے استعمال ہوگی۔ بتائیں کہ آیا آڈیو سرور کو بھیجا جاتا ہے یا مقامی طور پر پروسیس کیا جاتا ہے۔ صارفین نمایاں طور پر زیادہ رسائی دیتے ہیں اگر وہ سمجھتے ہیں کہ ریکارڈنگ ڈیوائس سے باہر نہیں جاتی۔ مقامی پروسیسنگ (آن ڈیوائس ASR) اعتماد کے لیے ایک مضبوط دلیل ہے۔

پس منظر میں ریکارڈنگ بند کریں

اگر ایپلیکیشن کو پس منظر میں آڈیو ریکارڈنگ کی ضرورت نہیں ہے، تو پس منظر میں جانے پر مائیکروفون کو بند کرنا یقینی بنائیں۔ یہ نہ صرف بیٹری بچاتا ہے بلکہ ریکارڈنگ کا اشارہ دیکھ کر صارف کے منفی ردعمل کو بھی روکتا ہے۔ iOS پر، ریکارڈنگ موقوف کرنے کے لیے UIApplicationDelegate کے طریقہ کار applicationDidEnterBackground استعمال کریں۔ Android پر، Activity یا Service میں onPause اور onStop کو سنبھالیں۔

ریکارڈنگ کے اشارے استعمال کریں

آڈیو کیپچر کے دوران اپنا ریکارڈنگ اشارہ (متحرک مائیکروفون آئیکن یا ویو فارم) دکھائیں۔ یہ صارف کو بتاتا ہے کہ مائیکروفون فعال ہے اور منفی ردعمل کے خطرے کو کم کرتا ہے۔ Apple اور Google زیادہ سے زیادہ شفافیت کے لیے سسٹم اشارے کو اپنے UI عنصر سے نقل کرنے کی تجویز دیتے ہیں۔

اکثر پوچھے گئے سوالات

کیا آڈیو چلانے کے لیے Microphone Permission ضروری ہے؟

نہیں، مائیکروفون کی اجازت صرف مائیکروفون سے آڈیو کیپچر کے لیے ضروری ہے۔ اسپیکر یا ہیڈ فون کے ذریعے آواز چلانے کے لیے Microphone Permission کی ضرورت نہیں ہے۔ چلانے کے لیے، iOS پر آڈیو سیشن یا Android پر AudioTrack ترتیب دینا کافی ہے۔

Android پر Microphone Permission کی حیثیت کیسے چیک کریں؟

ContextCompat.checkSelfPermission(context, Manifest.permission.RECORD_AUDIO) استعمال کریں۔ طریقہ کار PackageManager.PERMISSION_GRANTED یا PERMISSION_DENIED لوٹاتا ہے۔ مزید برآں، PackageManager.hasSystemFeature کے ذریعے ڈیوائس پر مائیکروفون کی دستیابی چیک کریں۔

اگر صارف نے Microphone Permission سے انکار کر دیا تو کیا کریں؟

متبادل منظرنامہ پیش کریں: آواز کے بجائے ٹیکسٹ ان پٹ، آڈیو کے بغیر پیغام بھیجنا، آواز کے بغیر ویڈیو دیکھنا۔ اگر صوتی ان پٹ کی خصوصیت اہم ہے تو، سسٹم سیٹنگز میں اجازت فعال کرنے کے ہدایات اور وہاں جانے کے بٹن کے ساتھ ایک اسکرین دکھائیں۔

Android 12+ پر Microphone Permission کیسے کام کرتا ہے؟

Android 12 سے شروع ہو کر، پس منظر میں کوئی ایپلیکیشن مائیکروفون تک رسائی حاصل نہیں کر سکتی۔ پس منظر میں جانے پر فعال ریکارڈنگ موقوف کر دی جاتی ہے۔ مزید برآں، Privacy Chip اشارہ ظاہر ہوا ہے — اسٹیٹس بار میں ایک سبز آئیکن جو دکھاتا ہے کہ کوئی ایپلیکیشن مائیکروفون استعمال کر رہی ہے۔

App Store نے Microphone Permission والی ایپلیکیشن کیوں مسترد کی؟

سب سے عام وجوہات: NSMicrophoneUsageDescription کلید کی کمی، غیر مخصوص وجہ کی وضاحت (“صوتی پیغامات ریکارڈ کرنے کے لیے” کے بجائے “سروس بہتر بنانے کے لیے”)، واضح صارف عمل کے بغیر اجازت کی درخواست، یا جواز شدہ فعالیت کے بغیر پس منظر میں مائیکروفون کا استعمال۔

خلاصہ

  • Microphone Permission آڈیو کیپچر کے لیے ایک نظامی اجازت ہے، جو دونوں موبائل پلیٹ فارمز پر لازمی ہے۔
  • Android Android 10 سے رن ٹائم درخواست اور پس منظر تک رسائی کی پابندیوں کے ساتھ RECORD_AUDIO استعمال کرتا ہے۔
  • iOS کو Info.plist میں NSMicrophoneUsageDescription اور لازمی وجہ کی وضاحت کے ساتھ AVAudioSession.requestRecordPermission کال کی ضرورت ہے۔
  • سسٹم اشارے (iOS پر نارنجی نقطہ، Android پر Privacy Chip) صارف کو مائیکروفون کی سرگرمی سے آگاہ کرتے ہیں۔
  • استعمال کے منظرنامے میں صوتی پیغامات، اسپیچ ریکگنیشن، ویڈیو کالز اور آڈیو ریکارڈنگ شامل ہیں۔
  • پس منظر میں ریکارڈنگ دونوں پلیٹ فارمز پر سختی سے محدود ہے اور اضافی اجازتوں اور جواز کی ضرورت ہے۔
  • انکار پر متبادل منظرنامے (ٹیکسٹ ان پٹ، آڈیو کے بغیر بھیجنا) ایپ کے صحیح آپریشن کے لیے لازمی ہیں۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں