কিবোর্ডের স্পেসবার ব্যবহার করে মিডিয়া প্লেব্যাক থামানো এবং পুনরায় চালু করা যায়।

চার তারকা রেটিং আইকন

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

যখন উইন্ডোতে মিডিয়া একমাত্র উপাদান হিসেবে থাকে (যেমন ফুল-স্ক্রিন ভিডিও প্লেব্যাক), তখন Jetpack Compose-এ স্ক্রিন লেভেলে কী-প্রেস ইভেন্টগুলিতে সাড়া দিন।

সর্বোত্তম অনুশীলন

যখনই আপনার অ্যাপ কোনো মিডিয়া ফাইল প্লে করবে, ব্যবহারকারীরা যেন ফিজিক্যাল কিবোর্ডের স্পেসবার চেপে প্লেব্যাকটি পজ ও রিজুম করতে পারেন।

উপকরণ

  • KEYCODE_SPACE : স্পেসবারের জন্য ধ্রুবক কী কোড।
  • onPreviewKeyEvent : এমন একটি Modifier যা কোনো কম্পোনেন্টকে (বা তার কোনো চাইল্ড কম্পোনেন্টকে) ফোকাস করা হলে হার্ডওয়্যার কী ইভেন্ট ইন্টারসেপ্ট করতে সক্ষম করে।
  • onKeyEvent : onPreviewKeyEvent এর মতোই, এই Modifier কোনো কম্পোনেন্টকে তার নিজের (বা তার কোনো চাইল্ডের) উপর ফোকাস করা হলে হার্ডওয়্যার কী ইভেন্টগুলো ইন্টারসেপ্ট করার সুযোগ দেয়।

পদক্ষেপ

Jetpack Compose-এ কিবোর্ডের কী-প্রেসের প্রতিক্রিয়া জানাতে হলে, আপনার অ্যাপকে অবশ্যই কী-প্রেস ইভেন্টগুলো শুনতে হবে, ইভেন্টগুলো ফিল্টার করতে হবে এবং নির্বাচিত কিছু কী-প্রেসের (যেমন স্পেসবার কী-প্রেস) প্রতিক্রিয়া জানাতে হবে।

১. কিবোর্ড ইভেন্টের জন্য শুনুন

Jetpack Compose-এর সাহায্যে, আপনি কীস্ট্রোক পরিচালনা করে এমন কম্পোনেন্টের মধ্যে onPreviewKeyEvent অথবা onKeyEvent মডিফায়ার ব্যবহার করতে পারেন।

দুটি মডিফায়ারের মধ্যে প্রধান পার্থক্য হলো, যদি মডিফায়ারটি ইভেন্টটি গ্রহণ না করে, তাহলে ইভেন্টটি কোথায় ডিসপ্যাচ করা হয়:

  • onPreviewKeyEvent — ইভেন্টটিকে এর প্রথম চাইল্ডের কাছে প্রেরণ করে।
  • onKeyEvent — কম্পোজেবলটির প্যারেন্টের কাছে ইভেন্টটি প্রেরণ করে।

২. স্পেসবার চাপ ফিল্টার ও নিয়ন্ত্রণ করুন

onPreviewKeyEvent বা onKeyEvent মডিফায়ার ল্যাম্বডার ভিতরে, সেইসব কী ইভেন্ট ফিল্টার করুন যেখানে কী রিলিজ ( KeyEventType.KeyUp ) স্পেসবার ( Key.Spacebar )-এর সাথে মেলে।

আপনার কোড যদি ইভেন্টটি হ্যান্ডেল করে এবং আপনি না চান যে ইভেন্টটি আরও ছড়িয়ে পড়ুক, তাহলে true রিটার্ন করুন। অন্যান্য কম্পোনেন্টকে ইভেন্টটি হ্যান্ডেল করার সুযোগ দিতে false রিটার্ন করুন।

  • বিকল্প A: onPreviewKeyEvent ব্যবহার করে

    Column(
        modifier = Modifier.onPreviewKeyEvent { event ->
            if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
                // Handle spacebar keypress to pause/resume playback.
                true
            } else {
                false
            }
        }
    ) {
        // Content
    }

  • বিকল্প B: onKeyEvent ব্যবহার করে

    Column(
        modifier = Modifier.onKeyEvent { event ->
            if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
                // Handle spacebar keypress to pause/resume playback.
                true
            } else {
                false
            }
        }
    ) {
        // Content
    }

ফলাফল

আপনার অ্যাপ এখন স্পেসবার কী চাপলে ভিডিও বা অন্যান্য মিডিয়া পজ এবং রিজুম করতে পারবে।

অতিরিক্ত সম্পদ

কিবোর্ড ইভেন্ট এবং সেগুলি কীভাবে পরিচালনা করতে হয় সে সম্পর্কে আরও জানতে, “কিবোর্ড ইনপুট পরিচালনা” দেখুন।