আমার অডিও ইনপুট কীভাবে সর্বদা ওয়েবক্যাম মাইক্রোফোন হতে পারে?


14

প্রতিবার আমি স্কাইপ ব্যবহার করতে চাইলে আমাকে সাউন্ডের পছন্দগুলিতে যেতে হবে। এবং সেখানে অডিও- ইনটিকে " ওয়েবক্যাম " এ পরিণত করুন এবং " নিঃশব্দ " বোতামটি চেক করুন। এটা বেশ বিরক্তিকর। সর্বদা একই কনফিগারেশন রাখার কোনও উপায় আছে কি?


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

উত্তর:


14

পালস অডিওর জন্য ডিফল্ট সেটিংস পরিবর্তন করা হচ্ছে

পালসওদিও চলাকালীন আপনার হোমের গোপন .pulseডিরেক্টরিতে কাস্টম কনফিগারেশন ফাইল রেখে সমস্ত সেটিংস সংজ্ঞায়িত করা যায় । এই ফাইলগুলি এখনও সেখানে উপস্থিত না থাকলে আপনি /etc/pulse/কোনও টেম্পলেট হিসাবে স্ট্যান্ডার্ড ফাইলগুলি ব্যবহার করতে পারেন । বেশিরভাগ এন্ট্রিগুলির এই ফাইলগুলিতে মৌখিক ব্যাখ্যা রয়েছে।

  • ~/.pulse/default.pa মডিউল লোড এবং ডিফল্ট সংজ্ঞায়িত করতে
  • ~/.pulse/client.conf সাউন্ড সার্ভারের জন্য একটি ক্লায়েন্ট কনফিগার করতে
  • ~/.pulse/daemon.conf নমুনা হার এবং বাফার সংজ্ঞায়িত করতে

আপনার ওয়েবক্যামকে ডিফল্ট উত্স হিসাবে তৈরি করতে আমাদের একটি টার্মিনালে নিম্নলিখিত কমান্ড দ্বারা উত্পাদিত তালিকার সন্ধান করে এই উত্সটির নাম এবং সংখ্যাটি জানতে হবে:

pacmd list-sources

এরপরে আমরা নিম্নলিখিত লাইনটি সম্পাদনা করি ~/.pulse/default.pa:

set-default-source [name]

এবং [name]পছন্দসই উত্সটির জন্য নাম বা উত্স নম্বর দ্বারা প্রতিস্থাপন করুন । আমাদের তখন নিশ্চিত করা দরকার যে এই লাইনটি যুক্ত করে উত্সটি নিরবচ্ছিন্ন করা হয়েছে:

set-source-mute [name]|[#n]> 0

আপনার উত্সটির নাম বা সূচক দিন। আপনি পালস অডিও উইকিতে (বর্তমানে ম্যান পৃষ্ঠায় man pulse-cli-syntax:) উল্লিখিত বিভিন্ন ধরণের অন্যান্য সেটিংস যুক্ত করতে পারেন ।

কনফিগারেশন ফাইলগুলি পরিবর্তন করার আগে কমান্ড লাইন ইন্টারফেসের মাধ্যমে সমস্ত কমান্ড পরীক্ষা করার পরামর্শ দেওয়া হয়। এটি টার্মিনালে খোলা যেতে পারেpacmd


আমার .পুলস ফোল্ডারে কোনও ডিফল্ট.পিএ নেই। আমি কি এক লাইনের সাথে একটি নতুন ফাইল তৈরি করব: সেট-ডিফল্ট-উত্স x?
করতে হবে

3
@ToDo- এ ডিফল্ট সেটিংস রয়েছে /etc/pulse/default.pa~/.pulseসম্পাদনা করার আগে এই ফাইলটি ব্যবহার করুন বা এটি অনুলিপি করুন ।
তাককাত

সম্পূর্ণতার জন্য: একটি ইনপুট ডিভাইস হিসাবে আউটপুট এর কোণ ধনুর্বন্ধনী ভিতরে লেখা হয় নাম লিখতে হবে pacmd list-sources। অর্থাত আমার ডিভাইসের জন্য এটি ছিল set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
হাই-এঞ্জেল

@ হাই-অ্যাঞ্জেল: এর জন্য আপনাকে ধন্যবাদ - উত্তরটি পালসওডিওর অনেক পুরানো সংস্করণ থেকে এসেছে। আমরা এখন একটি সিঙ্কের সঠিক নামটি ব্যবহার করতে পারি।
তাককাত

6

আমি একমত যে সমস্যাটি হচ্ছে যে পালসোডিও কোনও ডিভাইস ডিফল্ট হিসাবে সেট করে না কারণ ডাল শুরু হওয়ার সাথে সাথে এটি উপস্থিত থাকে না is

এটির জন্য আমার সমাধানটি হ'ল কোনও ইউএসবি ডিভাইস সংযুক্ত হওয়ার পরে সিস্টেমটি লক্ষ্য করে যে ... ইউডিইভি!

বিটিডাব্লু, এই নির্দেশাবলী কিছুটা মজাদার, এবং আমি ধরে নিচ্ছি যে আপনি কমান্ড লাইনে স্টাফ করতে স্বাচ্ছন্দ্য বোধ করছেন, এবং ইউদেব ফাইলগুলি আপডেট করার জন্য মূল ব্যবহারকারী হয়ে উঠছেন এবং স্ক্রিপ্টগুলি কার্যকর করতে সক্ষম হবেন।

প্রথমে জিনিসগুলি সন্ধান করুন

ইউএসবি আইডি

প্রথম পদক্ষেপটি হ'ল আপনার ওয়েবক্যামটি প্লাগ ইন করা এবং টাইপ করে যাদু বিক্রেতার এবং পণ্য নম্বরগুলি সন্ধান করা

lsusb

আমি একটি মাইক্রোসফ্ট লাইফেকাম ব্যবহার করছি, এবং এটি হিসাবে প্রদর্শিত হয়

Bus 001 Device 013: ID 045e:072d Microsoft Corp.

গুরুত্বপূর্ণ অংশটি 045e: 072 ডি

পালসোডিও ডিভাইস

এরপরে, ওয়েবক্যামটি সংযুক্ত থাকাকালীন পালসওডিও ডিভাইসের নামটি সন্ধান করুন। আদর্শ

pacmd list-sources

আবার, আমি লাইনটি সন্ধান করছি যা name:এরপরে একটি মাইক্রোসফ্ট লাইফেক্যাম সম্পর্কে কিছু রয়েছে ... এটি এখানে

name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>

সুতরাং আমার পালসওডিও ডিভাইসের নাম হবে alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

UDEV বিধি

তারপরে আমি একটি নতুন উদেব নিয়ম তৈরি করেছি যা বিক্রেতার = 045e এবং পণ্য = 072 ডি সহ একটি ইউএসবি ডিভাইস সন্নিবেশ করা হলে তা বহিস্কার করা হয়। একটি নিয়ম তৈরি করতে, /etc/udev/rules.d/সামোথিং নামে একটি নতুন ফাইল তৈরি করুন .rules(আমি আমার ফাইলটি ডাকলাম /etc/udev/rules.d/95-webcam-mic.rules)।

এই লাইনটি ফাইলের মধ্যে রাখুন

SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"

আপনার ওয়েবক্যামের মানগুলির সাথে এটিটিআর {আইডিভেন্ডার} এবং এটিটিআর {আইডিপ্রডাক্ট replace প্রতিস্থাপন মনে রাখবেন ।

এই নিয়মটি যা করে তা হ'ল ইনপুটটির জন্য ইউএসবি ডিভাইস সেট করতে একটি স্ক্রিপ্ট চালানো হয়, এটিই RUN+="/usr/local/bin/webcam-mic"অংশ।

অবশেষে, ইনপুট জন্য ওয়েবক্যাম সেট করুন

দ্রুত ওভারভিউ সময়। প্রতিটি সময় আমি আমার ওয়েবক্যামটি সংযুক্ত করি আমি কমান্ডটি চালাতে চাই

pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

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

সুতরাং আমরা 2 বিকল্প আছে।

  1. দ্রুত এবং নোংরা । Udev নিয়মটি চালান করুন এটি su james -c pacmd set-default-source... খুব ভুল আমি কমান্ডটি টাইপ করতেও পারছি না। আপনি যদি ওয়েবক্যাম পরিবর্তন করেন? আপনি যদি এটি অন্য ব্যবহারকারীর জন্য ইনস্টল করেন?

  2. সামান্য ক্লিনার । একটি স্ক্রিপ্ট চালান যা একটি ডিফল্ট ফাইল পড়বে যার মধ্যে পালসিউডিও ডিভাইসের নাম এবং এতে আপনার ব্যবহারকারীর নাম রয়েছে। আপনি যদি ফাইলগুলি চান তবে সেগুলি গিটহাবে রয়েছে। প্রথমে লিপি /usr/local/bin/webcam-mic/etc/default/webcam-micগিস্টটিতে দেওয়া মন্তব্য অনুসারে ডিফল্ট ফাইলটিকে কেবল 2 শেল ভেরিয়েবলগুলি সংজ্ঞায়িত করতে হবে। স্ক্রিপ্টটি এতে রাখুন /usr/local/bin/এবং এটি সম্পাদনযোগ্য করুন। তারপরে ডিফল্ট ফাইলটি /etc/defaults/এতে রেখে আপনার সম্পাদনা এবং ব্যবহারকারীর নাম এবং পূর্বের পুলসৌডিও ডিভাইসটি ব্যবহার করতে সম্পাদনা করুন।

শুভকামনা!


যে কোনও সুযোগ আপনি আবার এই স্ক্রিপ্টগুলি আপলোড করতে পারেন; তারা পেস্টবিন থেকে অদৃশ্য হয়ে গেছে বলে মনে হচ্ছে?
ej159

আমি স্ক্রিপ্টটি গিটহাবের উপরে প্রকাশ করেছি এবং উত্তরটি আপডেট করেছি।
জেমস মিচেল

2

তক্কাতের সমাধান আমার পক্ষে কাজ করছে না, যে কারও সাথে এখনও এই সমস্যা রয়েছে তার জন্য আমার সমাধান এখানে।

তক্কাতের সমাধান নিয়ে আমার জন্য দুটি বিষয় ছিল। প্রথমত, আমি বুঝতে পেরেছিলাম যে মাইক্রোফোনে স্যুইচ হওয়ার আগে স্টার্টআপের পরে কিছুটা বিলম্ব হওয়া দরকার (আমি নীচে আমার সমাধানে 'ঘুম' কমান্ডটি ব্যবহার করি)। এছাড়াও, 'সেট-ডিফল্ট-উত্স' কমান্ডটি ইউএসবি মাইক্রোফোনটি চালু করার জন্য কাজ করছিল, তবে কোনওভাবে স্কাইপ এটি স্বীকৃতি দিচ্ছিল না এবং অভ্যন্তরীণ মাইক্রোফোনটি ব্যবহার অব্যাহত রেখেছে।

এটি কাজ করার জন্য, প্রথমে প্যাভুকন্ট্রোল ইনস্টল করা কার্যকর। প্যাভুকন্ট্রলে, 'কনফিগারেশন' ট্যাবটি খুলুন এবং নীচের কমান্ডগুলির সাথে কী ঘটেছিল তা লক্ষ্য হিসাবে কাজ করছে তা পর্যবেক্ষণ করুন।

তারপরে, টার্মিনাল থেকে প্রবেশ করুন:

pacmd

সেখান থেকে প্রবেশ করুন:

list-cards

আউটপুটে, আপনি যে ইউএসবি অডিও চান তার সূচী নম্বরটি সন্ধান করুন (আমার ক্ষেত্রে এটি ছিল '1')। তারপরে ডিফল্ট কার্ড এবং ইউএসবি কার্ড উভয়ের জন্য 'প্রোফাইল' এর অধীনে তালিকাভুক্ত রেখাগুলি একবার দেখুন। এই pavucontrol তালিকাভুক্ত বেশী হিসাবে একই হওয়া উচিত, এবং পছন্দ 'ouput: ইনপুট + + আউটপুট' কিছু হতে পারে, 'বন্ধ', বা 'ইনপুট: এনালগ-মনো' pacmd কমান্ড লাইনে ইত্যাদি এখনও, কমান্ড set-card-profile <index number> <profile name>পরিবর্তন করা উচিত প্যাভুকন্ট্রোল এ সেটিংস। আমরা এখানে যা করতে চাই তা হ'ল কেবলমাত্র ডুপ্লেক্স থেকে আউটপুটে অভ্যন্তরীণ অডিও এবং ইউএসবিটিকে ইনপুট রূপান্তর করতে।

একবার উপযুক্ত প্রোফাইলগুলি খুঁজে পাওয়া গেলে, আমরা শুরু করার ঠিক পরে কয়েকটি সেটিংস পরিবর্তন করতে একটি স্টার্টআপ কমান্ড তৈরি করতে চাই। একটি স্টার্টআপ কমান্ড তৈরি করতে, ড্যাশটি খুলুন এবং 'স্টার্টআপ অ্যাপ্লিকেশনগুলি' অনুসন্ধান করুন, তারপরে 'অ্যাড' ক্লিক করুন, তারপরে আপনার পছন্দের নাম এবং নীচের উপযুক্ত কমান্ড লিখুন।

পরীক্ষা এবং ত্রুটির পরে, আমার স্টার্ট আপ কমান্ডটি দেখতে দেখতে শেষ হয়েছিল:

bash -c "sleep 30 && pacmd set-card-profile 0 output:analog-stereo && pacmd set-card-profile 1 off && pacmd set-card-profile 1 input:analog-mono"

ব্যাখ্যা: আমি খুঁজে পেয়েছি যে 'ঘুম' কমান্ডটি প্রয়োজনীয় ছিল, এর অর্থ হ'ল কমান্ডটি একটি বিরতি পরে কার্যকর করা হয়, আমি 30 সেকেন্ডে সেট করেছিলাম (আমার মনে হয় এটি কম হতে পারে, এটি নিয়ে খেলা)) পরবর্তী কমান্ডটি ('&& 'এর পরে) কেবলমাত্র ইনপুট + আউটপুট (ডুপ্লেক্স, যা পূর্বনির্ধারিত) থেকে আউটপুটে স্যুইচ করার জন্য ডিফল্ট (অভ্যন্তরীণ) কার্ড প্রোফাইল পাবে। পরবর্তী কমান্ডটি ইউএসবি সাউন্ড কার্ডের (আমার ক্ষেত্রে, সংখ্যাটি '1') স্যুইচ অফ করার জন্য। এই একই কার্ডটির মোডে 'ইনপুট: অ্যানালগ-মনো'তে ফিরে যেতে শেষ কমান্ডটি হ'ল

যেটি কাজ করে সেটিকে খুঁজে পেতে আপনাকে এই সেটিংসটি নিয়ে ঘুরতে হবে।

এখন যখন আমি শুরু করি তখন আমার ইউএসবি মাইক্রোফোন 30 সেকেন্ড পরে ব্যবহার করতে প্রস্তুত এবং স্কাইপ সঠিক মাইক্রোফোন ব্যবহার করে।


0

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


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