ALSA: কীভাবে সাময়িকভাবে আউটপুট ডিভাইস পরিবর্তন করতে হয়


15

আমি ALSA এ সম্ভব একটি সহজতম কাজটি করতে চাই: আমার ট্যাবলেটের অভ্যন্তরীণ স্পিকারের পরিবর্তে ইউএসবি-হেডফোনগুলি শব্দ উত্পাদন করতে পারে। ডিভাইসের ক্রম পরিবর্তন করে আমি বা কনফিগার ফাইল যেমন asound.rcবা স্থায়ীভাবে ডিফল্ট আউটপুট ডিভাইস হিসাবে স্থিরভাবে হেডফোনগুলি সেট করতে চাই না, আমি একটি অস্থায়ী প্রভাব চাই, যতক্ষণ না আমি হেডফোনগুলি প্লাগ ইন করি। আশ্চর্যের বিষয় হল, আমি উত্তরটি গুগল করতে পারি না। এটি করতে সক্ষম (না বলে মনে হচ্ছে)?alsa.confasound.confalsamixer

জিনোমে আপনি সহজেই PulseAudioতার জিইউআই বা সিএলআই ইন্টারফেসের মাধ্যমে বর্তমান আউটপুট ডিভাইসটি নির্বাচন করতে পারেন , তবে PulseAudioনিজেই ALSA এর শীর্ষে কাজ করে! সুতরাং আমি আরও আশ্চর্য হই, কীভাবে এটি ALSA কে আউটপুট ডিভাইস পরিবর্তন করতে বাধ্য করে?


alsamixerইন্টারফেসে একটি "সিলেক্ট সাউন্ড কার্ড" বিকল্প রয়েছে, যদিও আমি জানি না এটি আসলে আউটপুট ডিভাইসটি সেট করে কিনা।
স্বর্ণলোকস

1
না, দুর্ভাগ্যক্রমে এটি কেবল এই সাউন্ড কার্ডের প্যারামিটারগুলি প্রদর্শন করে এবং সেগুলিকে টুইট করতে দেয়, তবে এটিতে আউটপুট পুনর্নির্দেশ করে না
বোরিস বুর্কভ

হ্যালো, আপনি alsamixerএকটি টার্মিনাল থেকে চালানোর চেষ্টা করতে পারেন এবং F6অন্য একটি সাউন্ড কার্ড নির্বাচন করার জন্য টিপতে পারেন । :)
স্ল্যাকমার্ট

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

4
আলসামিক্সার ইউটিলিটির কিছু নিয়ন্ত্রণ রয়েছে: মাস্টার, পিসিআই এবং আরও অনেক কিছু। কোনও MMলেবেল আছে কিনা তা পরীক্ষা করুন (এমএম = নিঃশব্দ), সুতরাং Mশব্দটি সক্ষম করতে আপনার কীবোর্ড থেকে কীটি ব্যবহার করুন ।
স্ল্যাকমার্ট

উত্তর:


4

যদি ইউএসবি ডিভাইসটি সিস্টেমে একটি সাউন্ড কার্ড হিসাবে তালিকাভুক্ত হয় তবে আপনি প্যারামিটারটি পরীক্ষা করে man amixerব্যবহার করতে চাইতে পারেন unmute

amixer -c 1 set Master playback 100% unmute

অন্যান্য চ্যানেলগুলি (পিসিএম ইত্যাদি) দেখুন। ম্যানুয়াল থেকে উদাহরণগুলি হল:

   amixer -c 1 sset Line,0 80%,40% unmute cap
          will set the second soundcard's left line input volume to 80% and right line
          input to 40%, unmute it, and select it as a source for capture (recording).

   amixer -c 1 -- sset Master playback -20dB
          will set the master volume of the second card to -20dB.  If the  master  has
          multiple channels, all channels are set to the same value.

   amixer -c 1 set PCM 2dB+
          will  increase  the PCM volume of the second card with 2dB.  When both play‐
          back and capture volumes exist, this is applied to both volumes.

   amixer -c 2 cset iface=MIXER,name='Line Playback Volume",index=1 40%
          will set the third soundcard's second line playback volume(s) to 40%

   amixer -c 2 cset numid=34 40%
          will set the 34th soundcard element to 40%

ধন্যবাদ, জারি, এটি কাজ করে। আমি ALSA তে ম্যানুয়ালগুলি পড়ছি এবং একটি প্রশ্ন আছে: অ্যামিক্সার এবং আলসামিক্সার দ্বারা তালিকাভুক্ত ডিভাইসগুলি আসলে হার্ডওয়্যার ডিভাইস নয়, তবে /usr/share/alsa/alsa.conf এবং বন্ধুরা আলসা প্লাগইন দ্বারা নির্মিত ALSA ডিভাইসগুলি? আমি এই প্লাগইনগুলির বাক্য গঠনটি বেশিরভাগই বুঝতে পারি, তবে "পিসিএম" বা "সিটিএল" বা "টাইপ" এর মতো খুব মৌলিক কীওয়ার্ডগুলির সংজ্ঞাটি খুঁজে পাই না। আমি অক্সিজেন ডকুমেন্টেশনে কীওয়ার্ডগুলির কোনও তালিকা খুঁজে পেতে ব্যর্থ হয়েছি: alsa-project.org/alsa-doc/alsa-lib, alsa-project.org/alsa-doc/alsa-lib/conf.html। আপনি কি তাদের সম্পর্কে তথ্যের কোনও উত্স জানেন?
বরিস বুর্কভ

8
এটি সত্যই আসল প্রশ্নটি সমাধান করে না। আপনি প্যারামিটার সেট করতে পারেন, তবে এটি কার্ডটি পরিবর্তন করে না যার মাধ্যমে অডিও ফাঁস হয়ে যায়।
নিজে

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

1
পিট্টি এটি উত্তর হিসাবে নির্বাচন করা হয়েছে - প্রশ্ন ঠিক আমি যা খুঁজছি তা হল : আউটপুট জন্য ব্যবহৃত কার্ডটি কীভাবে সাময়িকভাবে পরিবর্তন করা যায়। তবে, যেমন নিজেরাই ইতিমধ্যে উল্লেখ করেছেন, এই উত্তরটি আসলে কীভাবে এটি করা যায় তা ব্যাখ্যা করে না। প্রায় একই শিরোনামের সাথে একটি নতুন প্রশ্ন জিজ্ঞাসা করা এখন নকল হিসাবে বন্ধ হওয়ার সম্ভাবনা রয়েছে।
ডমসন

1
@ ডসসন কেবল এটির সাথে ফিরে লিঙ্ক করুন এবং ব্যাখ্যা করুন যে উত্তরটি আপনার সমস্যার সমাধান করেনি। এটি নিশ্চিত করা উচিত যে এটি ডুপ হিসাবে বন্ধ নয়।
টেরডন

0

IIUC আপনি আপডেট করতে পারেন .asoundrcবা /etc/asound.confগতিশীল am সুতরাং দুটি ফাইল থাকা headphones.confএবং front.confএটি আপনার ডিফল্ট ডিভাইসগুলি যথাযথ hw:channel,deviceসংখ্যায় সেট করে এবং তারপরে একটি "এসিপিআই জ্যাক / হেডফোন হেডফোন প্লাগ" ইভেন্টে স্যুইচ করা উচিত। আমি এটি ব্যবহার করতে চলেছি, কারও সাথে লিঙ্ক /etc/asound.confকরতে "ln" ব্যবহার করে/etc/sounds/{headphones,front}.conf

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.