বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

অডিও আউটপুট হার্ডওয়ার এর পরিবর্তন সামলানো

যখন একটি হেডসেটকে আনপ্লাগড করা হয়, অথবা একটি ব্লুটুথ ডিভাইস বিচ্ছিন্ন করা হয় অডিও স্ট্রিম স্বয়ংক্রিয়ভাবে বিল্ট-ইন স্পিকারের দিকে রুট ঠিক করে। আপনি যদি আপনার মিউজিক শুনে থাকেন আমি যত জোরে শুনছি ঠিক ততো জোরে, এটা একটি শব্দময় বিস্ময় হতে পারে।

সৌবাগ্যবশত সিস্টেমটি একটি ACTION_AUDIO_BECOMING_NOISY ইনটেন্ট ব্রডকাস্ট করে যখন এটা ঘটে। একটি BroadcastReceiver রেজিস্টার করা একটা ভালো চর্চা যা এই ইনটেন্টের জন্য শুনে থাকে যখন আপনি এটা প্লে করছেন । মিউজিক প্লেয়ারের ক্ষেত্রে, ইউজার চিরাচিরতভাবে আশা করে প্লেব্যাক স্টপ হবে- যখন গেমের জন্য আপনি উল্লেখযোগ্যভাবে ভলিউম নীচু করতে পছন্দ করতে পারেন

private class NoisyAudioStreamReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
            // Pause the playback
        }
    }
}

private IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);

private void startPlayback() {
    registerReceiver(myNoisyAudioStreamReceiver(), intentFilter);
}

private void stopPlayback() {
    unregisterReceiver(myNoisyAudioStreamReceiver);
}