কেডিএতে অডিও ডিভাইসটি দ্রুত পরিবর্তন করুন


15

আমি সম্প্রতি উইন্ডোজ থেকে ওপেনসুএসে (কেডিএ সহ) স্যুইচ করেছি এবং আমি এখনও শেখার বক্ররেখার মধ্য দিয়ে যাচ্ছি।

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

এখানে চিত্র বর্ণনা লিখুন

কিছু স্ক্রিপ্টের মাধ্যমে কি এমন কোনও উপায় রয়েছে যা আমাকে (ক) ফ্লাইতে একটি নতুন ডিফল্ট অডিও প্লেব্যাক এবং অডিও রেকর্ডিং ডিভাইস নির্বাচন করতে অনুমতি দেবে, (খ) হটকি বা সেই একই প্লেব্যাক ডিভাইসে মাস্টার চ্যানেল সেট করার সময় (সি) বা অন্যান্য দ্রুত পদ্ধতি ডেস্কটপে?

উত্তর:


10

বেশিরভাগ জিইউআই কিটগুলি একই ব্যাকএন্ডের পালস অডিও ব্যবহার করে। pactlনিয়ন্ত্রণ স্ক্রিপ্ট লিখতে ব্যবহার করুন ।

NAME
       pactl - Control a running PulseAudio sound server

DESCRIPTION
       pactl can be used to issue control commands to the PulseAudio sound server.

       pactl only exposes a subset of the available operations. For the full set use the pacmd(1).

উৎস: man pactl

  1. উপলব্ধ আউটপুট ডুবে যাচাই করতে

    $ pactl list short sinks
    0   alsa_output.pci-0000_01_00.1.hdmi-stereo    module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    1   alsa_output.pci-0000_00_1b.0.analog-stereo  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    
  2. উপলব্ধ ইনপুট উত্সগুলি পরীক্ষা করতে check

    $ pactl list short sources
    0   alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor    module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    1   alsa_output.pci-0000_00_1b.0.analog-stereo.monitor  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    2   alsa_input.pci-0000_00_1b.0.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    
  3. ডিফল্ট পরীক্ষা করতে

    $ pactl info
    Server String: /run/user/1000/pulse/native
    Library Protocol Version: 30
    Server Protocol Version: 30
    Is Local: yes
    Client Index: 2
    Tile Size: 65472
    User Name: user
    Host Name: userpc
    Server Name: pulseaudio
    Server Version: 6.0
    Default Sample Specification: s16le 2ch 44100Hz
    Default Channel Map: front-left,front-right
    Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
    Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
    
  4. ডিফল্ট সেট করতে

    pactl set-default-source id-or-name
    pactl set-default-sink id-or-name
    

    উদাহরণ:

    pactl set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo
    pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
    

    বা:

    pactl set-default-source 2
    pactl set-default-sink 1
    

নোট:

  • এটি কেবলমাত্র নতুন স্ট্রিমগুলিকে প্রভাব ফেলবে, আপনাকে চলমান চলমান স্ট্রিমগুলি সরিয়ে নিতে হবে, তাই ব্যবহার করুন:

    pacmd move-sink-input <stream-id> <sink-id/name>
    

    অনুলিপি করার জন্য দুর্দান্ত উদাহরণ: এইচডিএমআই অডিওতে স্যুইচ করা যখন এইচডিএমআই ল্যাপটপে প্লাগ ইন করা হয় (14.04)

  • কিছু কার্ডের একাধিক পরিবর্তনযোগ্য বন্দর রয়েছে, আপনি যেটি চান সেটি ডিফল্ট নয়।

    উপলব্ধ বন্দর পরীক্ষা করুন:

    $pactl list sinks
    Sink #1
        State: RUNNING
        Name: alsa_output.pci-0000_00_1b.0.analog-stereo
        Description: Built-in Audio Analog Stereo
        Driver: module-alsa-card.c
        ...
        Ports:
            analog-output-speaker: Speakers (priority: 10000, not available)
            analog-output-headphones: Headphones (priority: 9000, available)
        Active Port: analog-output-headphones
        Formats:
            pcm
    ...
    

    এটি সেট করতে:

    pactl set-sink-port <sink-id/name> <port-name>
    

    উদাহরণ:

    pactl set-sink-port 1 analog-output-headphones
    

মাস্টার চ্যানেল পরিবর্তন করতে

এই টিউটোরিয়াল অনুসরণ করে , আপনি qdbusনিম্নলিখিত হিসাবে মাস্টার চ্যানেল সেট করতে পারেন :

  1. নিম্নলিখিত কমান্ড সহ আপনার প্রতিটি ডিভাইসের জন্য মাস্টার মিক্সারটি সন্ধান করুন। প্রথমে আপনি যা যাচাই করতে চান তার জন্য মাস্টার চ্যানেলটি ম্যানুয়ালি সেট করুন, তারপরে কমান্ডটি চালান:

    qdbus org.kde.kmix /Mixers org.kde.KMix.MixSet.currentMasterControl
    
  2. এই কমান্ডের ফলাফল এবং অডিও ডুবির সাহায্যে আপনি নিয়ন্ত্রণ করতে চান, আপনার মাস্টার চ্যানেলটি পরিবর্তন করতে নিম্নলিখিত বাক্য গঠনটি ব্যবহার করুন:

    qdbus org.kde.kmix /Mixers org.kde.KMix.MixSet.setCurrentMaster "[insert Mixer]" "[insert sink]" 2>&1 > /dev/null
    
  3. শেষ পর্যন্ত, সমস্ত বর্তমান অডিও একটি নতুন চ্যানেলে স্যুইচ করার জন্য স্ক্রিপ্টটি ডিফল্ট হিসাবে সেট করুন এবং মাস্টার চ্যানেল হিসাবে এটির মতো দেখতে সেট করুন:

    #!/bin/bash
    pactl set-default-sink alsa_output.usb-Logitech_Logitech_G930_Headset-00-Headset.analog-stereo
    pactl set-default-source alsa_input.usb-Logitech_Logitech_G930_Headset-00-Headset.analog-mono
    INPUTS=($(pacmd list-sink-inputs | grep index | awk '{print $2}'))
    for i in ${INPUTS[*]}; do pacmd move-sink-input $i alsa_output.usb-Logitech_Logitech_G930_Headset-00-Headset.analog-stereo &> /dev/null; done
    qdbus org.kde.kmix /Mixers org.kde.KMix.MixSet.setCurrentMaster "PulseAudio::Playback_Devices=:1" "alsa_output.usb-Logitech_Logitech_G930_Headset-00-Headset.analog-stereo" 2>&1 > /dev/null

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

@ রায়ান, আমি এটি কেবল ওপেনসুএস ১৩.১.১.২০-তে কেডি-তে পরীক্ষা করেছি, মনে হচ্ছে এটি ভাল কাজ করছে। কেবলমাত্র আমি লক্ষ্য করেছি: পালস অডিও থেকে সেটিংস পরিবর্তন করা থাকলে ফোনন প্যানেল তার ইন্টারফেসটি রিফ্রেশ করে না। আপনি কি pavucontrolতখন ইনস্টল করতে পারবেন 3 টি একসাথে স্ক্রিনে খুলুন (টার্মিনাল ডাব্লু / প্যাকটেল + প্যাভুকন্ট্রোল প্যানেল + ফোনন প্যানেল)। প্রত্যেকের কাছ থেকে সেটিংস পরিবর্তন করার চেষ্টা করুন এবং দেখুন। কিছু সময়, আপনাকে রিয়েল সেটিংসের স্থিতি দেখতে ফোনের আবার এটি খুলতে বন্ধ করতে হবে।
user.dz

আমি জানতে পেরেছি যে আপনি একটি নতুন প্রোফাইল তৈরি করতে পারেন যা উভয়কেই ডুবন্ত সংযুক্ত করে এবং যাতে তারা সর্বদা দৃশ্যমান হয় pactl list short sinks, নীচে আমার উত্তরটি দেখুন
ফ্রান্সেস্কো

2

এই উত্তরের জন্য ধন্যবাদ আমি অবশেষে একটি সমাধান পেয়েছি, নীচের নির্দেশটি দেখুন

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

আমার এই ফাইলটি বোঝার থেকে /usr/share/pulseaudio/alsa-mixer/profile-sets/default.confআলসা এবং পুলসৌদিওয়ের মধ্যে থাকা সমস্ত ম্যাপিং প্রোফাইল তালিকাভুক্ত করে।

1.
আপনার মান Analog profileএবং HDMI profileসংজ্ঞা সম্পর্কিত ম্যাপিং সন্ধান করুন । ( বর্ণনা: অডিও ভলিউম কেডি সেটিং মডিউলে প্রদর্শিত ডিভাইস প্রোফাইলগুলির সাথে মিল থাকা উচিত )

আমার জন্য নিম্নলিখিত:

[Mapping analog-stereo]
device-strings = front:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 10

[Mapping hdmi-stereo-extra1]
description = Digital Stereo (HDMI 2)
device-strings = hdmi:%f,1
paths-output = hdmi-output-1
channel-map = left,right
priority = 2
direction = output

২.
উপরের ম্যাপিং সংজ্ঞাটির ভিত্তিতে আমি নিম্নলিখিত নতুন প্রোফাইলটি তৈরি করেছি যা উপরের দুটিকেই গ্রুপ করে:

[Profile output:analog-stereo+output:hdmi-stereo-extra1]
description = All
output-mappings = analog-stereo hdmi-stereo-extra1
input-mappings = analog-stereo

3.
এই কমান্ডের সাহায্যে নাড়ি অডিও পুনরায় চালু করুন:

pulseaudio --kill; sleep 1; pulseaudio --start

৪.
কেডিএ ফোনের সেটিংস> অডিও হার্ডওয়্যার সেটআপে যান এবং নতুন প্রোফাইল নির্বাচন করুন। মিক্সারে 2 প্রোফাইল

এখন আপনার উভয় প্রোফাইল মিশ্রিততে দেখা উচিত এবং তাই আপনি সহজেই স্যুইচ করতে সক্ষম হবেন:

এইচডিএমআই সর্বদা এখন মিশ্রণটিতে প্রদর্শিত হয়
আমি এই প্লাজময়েড মিশুকটি ব্যবহার করার পরামর্শ দেব: https://store.kde.org/p/1100894/

(অতিরিক্ত পদক্ষেপ) জোর করে উভয় আউটপুট সক্ষম

আপনি যদি একই সাথে কম্পিউটার স্পিকার এবং টিভি আউটপুট অডিও উভয়ই মনে না করেন (সুতরাং মূলত আপনাকে অডিও আউটপুটটি কখনও স্যুইচ করতে হবে না)।

আপনি নীচের সেটিংসটি নির্বাচন করতে পারেন এবং তারপরে আপনার মিক্সারে একটি নতুন প্রবেশ থাকবে have

এখানে চিত্র বর্ণনা লিখুন


এটি ঠিক দুর্দান্ত, একটি কবজির মতো কাজ করে, আপনাকে ধন্যবাদ!
stsloth

0

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

যথাযথ হিসাবে আপনার অডিও ডিভাইসগুলি পরিবর্তন করুন। pactl list short sinksআপনার ডিভাইসগুলি নির্ধারণ করতে ব্যবহার করুন ।

#!/bin/bash

# Audio sinks
HEADSET='alsa_output.usb-Corsair_Corsair_VOID_PRO_Wireless_Gaming_Headset-00.analog-stereo'
SPEAKERS='alsa_output.pci-0000_1f_00.3.analog-stereo'

# Get current audio sink
CURRENTDEV=$(pactl list short sinks | grep RUNNING | awk {'print $2'})

# Determine our next audio sink
if [[ "$CURRENTDEV" == "$HEADSET" ]]; then
    NEXTDEV=$SPEAKERS
else
    NEXTDEV=$HEADSET
fi

# Set our default device
pactl set-default-sink $NEXTDEV

# Move current streams (dont check for null, if null you wont see heads up display of audio change)
INPUTS=($(pacmd list-sink-inputs | grep index | awk '{print $2}'))
for i in ${INPUTS[*]}; do pacmd move-sink-input $i $NEXTDEV &> /dev/null; done

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