প্রোগ্রামিকভাবে পালস অডিওতে মাস্টার ভলিউম কীভাবে পরিবর্তন করবেন?


1

নীচের দেখানো কমান্ডটি ব্যবহার করে আপনি টার্মিনালের মধ্যেই মাস্টার ভলিউম পরিবর্তন করতে পারেন ।

amixer -D pulse sset Master 5%+

যাইহোক, যখন আমি পাইথনে নিম্নলিখিত কোডটি কার্যকর করার চেষ্টা করেছি , নিম্নলিখিত ত্রুটিটি প্রদর্শিত হবে।

No protocol specified
xcb_connection_has_error() returned true
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

amixer: Mixer attach pulse error: Connection refused

এবং এখানে উপরের ত্রুটি উত্পাদন কোড।

os.system("amixer -D pulse sset Master 5%+")

কীভাবে এই ত্রুটিটি সমাধান করা যায়?


"সংযোগ করতে অক্ষম" ত্রুটির অর্থ হতে পারে: পালসওডিও চলছে না বা অনুমতি সম্পর্কিত সমস্যা রয়েছে। "প্যাকটেল" নাড়ী নিয়ন্ত্রণের জন্য আরও উপযুক্ত হতে পারে। আপনি চালিয়ে কী আউটপুট নিয়ন্ত্রণ করতে চাইছেন তা নির্ধারণের চেষ্টা করুন: "প্যাকটেল তালিকা ডুবে গেছে"। সিঙ্ক নম্বর নির্ধারণ করতে সেই কমান্ডের আউটপুট পর্যালোচনা করুন। তারপরে "প্যাকটেল সেট-সিঙ্ক-ভলিউম 3 + 5%" এর মতো কিছু চালান (যেখানে "বিল্ট-ইন অডিও অ্যানালগ স্টিরিও" এর জন্য "3" আমার মেশিনে সিঙ্ক # হয়)। একটি বিষয় লক্ষ্য করুন: ডুবিক সংখ্যাগুলি রিবুটগুলি জুড়ে পরিবর্তিত হতে পারে, সুতরাং ডুবে থাকা সংখ্যার পরিবর্তে ডুবির নাম দিয়ে একই জিনিস কীভাবে সম্পাদন করা যায় তা গবেষণা করা সার্থক।
joat

আমি প্যাকটেল চেষ্টা করেছি কিন্তু একই ত্রুটি পেয়েছি। @ জোত
ঘটক সেনা ২

পালসওদিও চলছে? আপনি কি (বা আপনার স্ক্রিপ্ট) লগ ইন করা ব্যবহারকারী হিসাবে মূল (প্যাক্টল) / অ্যামিক্সার চালাচ্ছেন (মূল নয়)? আমি যা ভাবতে পারি সে সম্পর্কে এটিই।
জোত ২

অবশ্যই এটি টার্মিনালে কাজ করছে তবে আমার মূল সমস্যাটি হ'ল এটি পাইথন কোড নিয়ে কাজ করছে না @ @ জোয়াত
ঘটক সেনা ২

এটি অবশ্যই অনুমতি সংক্রান্ত সমস্যা হতে পারে। 'আমদানি করুন; ওএস.সিস্টেম ("প্যাকটেল সেট-সিঙ্ক-নিঃশব্দ 3 1")' যদি আমি এটি টার্মিনালে বা স্ক্রিপ্টে চালনা করি তবে কাজ করে। আপনি যখন অ্যামিক্সার চালান, তখন কি আপনাকে অন্য কিছু করার আগে সাউন্ড কার্ডটি নির্বাচন করতে হবে?
জোত

উত্তর:


0

অবশেষে, আমি আমার নিজের সমস্যার সমাধান পেয়েছি যা নীচে দেখানো হয়েছে

    import subprocess
    proc = subprocess.Popen('/usr/bin/amixer sset Master 5%', shell=True, stdout=subprocess.PIPE)
    proc.wait()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.