পালসঅডিও কার্ডের প্রোফাইলটি 'a2dp_sink' এ সেট করতে ব্যর্থ। আমি কীভাবে লগগুলি দেখতে পারি এবং কী ভুল বুঝতে পারে?


31

আমি বর্তমানে উবুন্টু 16.04 ইনস্টল করেছি এবং নতুন অ্যাপ্লিকেশনটিতে কাজ করতে ব্যবহৃত a2dp, যা আমি শেষ বিকল্প হিসাবে ছেড়ে যেতে পছন্দ করব। যখন জুটিটি ব্লুটুথ সেটিংস থেকে মুছে ফেলা হয় এবং আবার জোড় তৈরি করা হয় কখনও কখনও এটি এ 2 ডিপি প্রোফাইলে থাকার ব্যবস্থা করে, তবে যদি হেডসেটটি সংযোগ বিচ্ছিন্ন হয়ে যায় এবং আবার এ 2 ডিপি প্রোফাইলগুলি আর কাজ করে না (যদিও এটি এএডিপি তে বলেছে) এটি কেবলমাত্র কাজ করে এইচএসপি / এইচএসএফ-এ স্যুইচ করার পরে এবং আমি এটিকে 2 এডিপি সেট করতে অক্ষম।

আমি চেষ্টা করেছি:

 pacmd set-card-profile <index> a2dp_sink

তবে নিম্নলিখিত ত্রুটিটি বেরিয়ে আসে:

"Failed to set card profile to 'a2dp_sink'"

আমি লিনাক্সে বেশ অনভিজ্ঞ তাই আমি লগ কিভাবে পেতে পারি বা কীভাবে সেগুলিতে সন্ধান করতে হয় তা আমি জানি না, তবে এটি প্যাকএমডি তালিকা-কার্ডগুলি থেকে পেয়েছি:

যখন এটি কাজ করে:

name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 27
properties:
    device.description = "Jabra REVO a4.0.0"
    device.string = "50:C9:71:97:A1:86"
    device.api = "bluez"
    device.class = "sound"
    device.bus = "bluetooth"
    device.form_factor = "headset"
    bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
    bluez.class = "0x240404"
    bluez.alias = "Jabra REVO a4.0.0"
    device.icon_name = "audio-headset-bluetooth"
    device.intended_roles = "phone"
profiles:
    headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
    a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)
    off: Off (priority 0, available: yes)
active profile: <a2dp_sink>
sinks:
    bluez_sink.50_C9_71_97_A1_86/#6: Jabra REVO a4.0.0
sources:
    bluez_sink.50_C9_71_97_A1_86.monitor/#10: Monitor of Jabra REVO a4.0.0
ports:
    headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
        properties:

    headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
        properties:

যখন এটি না:

name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 25
properties:
    device.description = "Jabra REVO a4.0.0"
    device.string = "50:C9:71:97:A1:86"
    device.api = "bluez"
    device.class = "sound"
    device.bus = "bluetooth"
    device.form_factor = "headset"
    bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
    bluez.class = "0x240404"
    bluez.alias = "Jabra REVO a4.0.0"
    device.icon_name = "audio-headset-bluetooth"
    device.intended_roles = "phone"
profiles:
    headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
    a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: yes)
    off: Off (priority 0, available: yes)
active profile: <off>
ports:
    headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
        properties:

    headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
        properties:

এবং নিজস্ব মডিউলটি হ'ল:

name: <module-bluez5-device>
argument: <path=/org/bluez/hci0/dev_50_C9_71_97_A1_86>
used: 0
load once: no
properties:
    module.author = "João Paulo Rechi Vita"
    module.description = "BlueZ 5 Bluetooth audio sink and source"
    module.version = "8.0"

আমি ইতিমধ্যে /etc/bluetuth/audio.conf সংশোধন এবং ব্লুম্যান ইনস্টল করার চেষ্টা করেছি কিন্তু এটি কার্যকর হয়নি। আমি ব্লুজ এবং পালসওডিও পুনরায় ইনস্টল করার চেষ্টা করেছি কিন্তু কিছুই পরিবর্তন হয়নি।

আমি কী ভুল তা জানতে এবং এটি ঠিক করার কোনও উপায় আছে?


আপনি দয়া করে ব্যাখ্যা করতে পারেন আপনি কোথা থেকে এই তথ্য পাবেন? এবং সূচক কি? ধন্যবাদ!
এজেকুয়েল মোরেনো

উত্তর:


23

"সক্রিয় প্রোফাইল: <অফ>" রেখার উপর ভিত্তি করে শব্দ প্রোফাইলটি সক্রিয় হয়নি।

একটি প্রোগ্রাম যা প্রোফাইল পরিবর্তন করতে ব্যবহার করা সহজ হ'ল প্যাভুকন্ট্রোল। আপনি এটি দিয়ে ইনস্টল করতে পারেন sudo apt install pavucontrol -y। তারপরে আপনি যদি কুবুন্টুতে রয়েছেন এবং প্যাভুকন্ট্রলে প্রবেশ করছেন তবে কমান্ড লাইন বা Alt + F2 থেকে প্যাভুকন্ট্রোল চালান।

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

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

pacmd set-card-profile 2 off
bluetoothctl
disconnect 50:C9:71:97:A1:86
connect 50:C9:71:97:A1:86
pacmd set-card-profile 2 a2dp_sink

প্রোফাইলটিকে সাইক্লিং করার জন্য একই জিনিসটি করার আরও জটিল তবে স্বয়ংক্রিয় পদ্ধতিতে এবং আবার এ 2 ডিপি তে ফিরে আসুন তবে ব্লুটুথ ডিভাইস সংযোগ বিচ্ছিন্ন এবং সংযোগ করবেন না

index=`pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'`;pacmd set-card-profile $index off; pacmd set-card-profile $index a2dp_sink 

একই কাজটি করার জন্য আমি একটি কার্যক্ষম কিন্তু opালু স্ক্রিপ্ট তৈরি করতে চাইছিলাম তবে ব্লুটুথ হেডফোনগুলি সংযোগ বিচ্ছিন্ন ও পুনরায় সংযোগ করতে পারি। এটি প্রোফাইল সূচকটি গ্রাহ্য করে কারণ ডিভাইসটি সংযোগ বিচ্ছিন্ন ও পুনরায় সংযুক্ত হওয়ার সাথে সাথে প্রতিটি সূচী পরিবর্তন হয়। আপনি উপরে তালিকাভুক্ত হেডসেটটির জন্য এটি ডিভাইস আইডির সাথে হার্ডকোডযুক্ত

pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` off; sleep 2 ; echo -e "disconnect 50:C9:71:97:A1:86\n quit"|bluetoothctl;sleep 5; echo -e "connect 50:C9:71:97:A1:86\n quit"|bluetoothctl; sleep 5; pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` a2dp_sink

পরীক্ষার সময় আমি 3 এর পরিবর্তে 5 সেকেন্ডের সাথে শেষ করি কারণ ডিভাইসটি এখনও অডিও প্রোফাইল পরিবর্তন করতে প্রস্তুত ছিল না। আপনার ফলাফল কয়েক সেকেন্ড +/- 5 সেকেন্ডের মধ্যে পরিবর্তিত হতে পারে। কোনও সম্ভাব্য ক্ষতি সম্পর্কে সম্পাদনা করুন। আমি খুঁজে পেয়েছি যে এটি মাঝে মাঝে বড় স্ক্রিপ্টটি কাজ করার আগে দুবার চালানো দরকার। আমি নিশ্চিত নই যে ঘুমের সময় বাড়ানো আমার পক্ষে পরীক্ষামূলকভাবে যেমন পরীক্ষিত হয়নি তেমন সহায়তা করবে কিনা। তবে আমি এটি দুটি ব্র্যান্ডের বিটি হেডফোনগুলির সাথে দুটি মেশিনে ব্যবহার করেছি এবং হেডফোনগুলিতে শব্দটি ব্যবহার করার জন্য প্রক্রিয়াটি স্বয়ংক্রিয়করণের জন্য এটি যা করা উচিত তা করছে।

অবশেষে সমস্যাটি ব্লুটুথ প্যাকেজটিতে প্যাচ হয়ে যাবে তবে উবুন্টুর নতুন প্রকাশের পাশাপাশি লিনাক্সের অন্যান্য সংস্করণগুলিতে ফিরে আসতে থাকবে বলে মনে হচ্ছে। তবে যাইহোক আশা আপনার পক্ষে সাহায্য করে


>> আমি কীভাবে লগগুলি দেখতে পারি এবং কী কী ভুল বুঝতে পারে? << আপনি যদি এই প্রশ্নের উত্তরও দিতে পারতেন তবে দুর্দান্ত হবেন :)
ক্রিটিং ক্রিস

পাভুকন্ট্রোল গুইতে ব্লুটুথ হেডফোনগুলিতে শব্দ সেট করুন আমার পক্ষে কাজ করে। জিনোম শব্দ সরঞ্জামটি আরও ভাল কাজ করে।
কিকিজেড

1
2 বছর পরে এবং আমার উত্তরটি আমার সনি WH-H900N এর সাথে আমার প্রয়োজন হয়েছিল।
জোয়াকিম উইমমারস্টেট

(1 বছর পরে) এক্সএফসিই এবং ব্লুম্যান-ম্যানেজার ব্যবহার করে, আমাকে প্রায়শই bluetoothctl disconnect aa:bb:cc:dd:ee:ff && bluetoothctl connect aa:bb:cc:dd:ee:ffডিভাইসগুলি মেনুতে ডান-ক্লিক করার আগে অডিও প্রোফাইলটি A2DP এ স্যুইচ করতে দেয়। ডিভাইসগুলির মেনুটি আনতে খুব বেশি সময় লাগলে আমি মাঝে মাঝে একটি শিশু ব্লুম্যান-ম্যানেজার প্রক্রিয়াটিও মেরে ফেলতে পারি।
এরিকপি

এই আদেশগুলি সরবরাহ করার জন্য ধন্যবাদ। এটি আমার উবুন্টু 18.04 এবং সনি WH-1000xm2 এর সাথে কাজ করেছে only আমি এটি এই সংক্ষিপ্ত বিবরণে
এগ্রিভ

19

অর্ডার করার জন্য আপনার সার্ভার একটি A2DP বেসিনে (যেমন আপনার কম্পিউটারের ভাষাভাষী মাধ্যমে আপনার ফোন থেকে সঙ্গীত খেলা), যোগ হিসাবে সনাক্ত করা Enable=Source,Sink,Media,Socketঅধীনে [General]মধ্যে /etc/bluetooth/audio.conf

এটি করার পরে, ব্লুটুথ ডেমন পুনরায় চালু করুন

systemctl restart bluetooth

আপনাকে হেডফোন ডিভাইস সংযুক্ত করুন

bluetoothctl
connect <MAC>

আপনার কার্ড পরীক্ষা করুন এবং প্রোফাইল সেট করুন

pacmd list-cards
pacmd set-card-profile <index> <profile>

1
উবুন্টু 16.04 /etc/bluetuth/audio.conf ব্যবহার করে উত্তেজিত হয় না, পরিবর্তে আমি এই লাইনটি কোথায় লিখব?
16

এটি আমার জন্য দেবিয়ান সিডে স্থির করে দিয়েছে, আপনাকে ধন্যবাদ!
জের্জ

@ তিবেইনকাউন্টার ফাইলটি উপস্থিত না থাকলে যোগ করুন
জিমুবাও

মাঝে মাঝে যদি আপনি A2DP ডুবির সাথে সংযোগ হারিয়ে ফেলেছেন তবে ব্লুটুথ্যাক্টল এ "পাওয়ার অফ" এবং তারপরে "সিস্টেমেটেক্টাল রিস্টার্ট ব্লুটুথ" চেষ্টা করুন এবং তারপরে
ব্লুটুথক্টল

1
আর্চ / মানজারোতে কাজ করেছেন! তবুও ফাইলটি এখন /etc/bluetooth/main.confসাম্প্রতিক সংস্করণের জন্য অবস্থিত
এমসিএমজেডএল

13

আমার উবুন্টু ১.0.০৪.১ এলটিএসে এই সমস্যা ছিল এবং https://wiki.debian.org/BluetuthUser/a2dp- এ পাওয়া জিডিএম কাজটি প্রয়োগ করে এটি সমাধান করেছে।

বিশেষত, /var/lib/gdm3/.config/pulse/client.confপড়ার জন্য তৈরি / সম্পাদনা করুন:

autospawn = no
daemon-binary = /bin/true

তারপর

sudo chown gdm:gdm /var/lib/gdm3/.config/pulse/client.conf

আমিও যুক্ত করেছিলাম /etc/pulse/default.pa

load-module module-switch-on-connect

যদিও এটি কঠোরভাবে প্রয়োজন হতে পারে না।

একটি রিবুট করার পরে, আমি ব্লুটুথ পরিচালকের মাধ্যমে সংযুক্ত হয়ে অডিও প্রোফাইলকে সফলভাবে স্যুইচ করতে সক্ষম হয়েছি a2dp_sink


আমার সমস্যাটি ছিল যে লিঙ্কের প্রথম ধাপের সময় ব্লুজ-ফার্মওয়্যারটি অনুপলব্ধ ছিল, তারপরে ব্যবহারকারী জিডিএম খুঁজে পাওয়া যাবে না। এছাড়াও, gdm3 ফোল্ডারটি বিদ্যমান ছিল না, সুতরাং পুরো পথটি তৈরি করতে হয়েছিল।
শব্দসুখে

আমি দেবিয়ান থেকে এই লিঙ্কটি থেকে দ্বিতীয় কাজটি করেছি, কবজির মতো কাজ করি!
আমফাসিস

5

জ্যাজি এস এর উত্তরের ভিত্তিতে ল্যাঙ্গারিস্টি এখানে একটি স্ক্রিপ্ট লঞ্চপ্যাডে পোস্ট করেছে Jam

  • স্ক্রিপ্টের ভিতরে ভেরিয়েবলের ডিভাইসগুলির ম্যাক-ঠিকানা পরিবর্তন করুন! ( bluetoothctl-> ডিভাইসের সাথে পাওয়া যাবে )

  • স্ক্রিপ্টটি কার্যকর করা যায় Make chmod a-x bluetooth_headphone_reactivation.sh

শুরুতে স্বয়ংক্রিয় সম্পাদনের জন্য (কেবলমাত্র হেডসেটটি ইতিমধ্যে চালু থাকলে কাজ করে):

  • কে-ডি-এর কন্ট্রোল প্যানেলে স্টার্ট / শাটডাউন স্ক্রিপ্টগুলিতে স্ক্রিপ্ট যুক্ত করুন

দ্রুত ম্যানুয়াল কার্যকর করার জন্য:

  • অ্যাপ্লিকেশন-স্টার্টারে একটি এন্ট্রি যুক্ত করুন (আপনি "CTRL + ALT + H" এর মতো কিবোর্ড শর্টকাটও সেট করতে পারেন এবং / অথবা উইন্ডো বারে এই স্টার্টারটি পিন করতে পারেন)

এই পান্ডুলিপি:

#!/bin/sh
device_mac='<your-devices-mac-address-here>'
pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` off
sleep 2 
echo "disconnect $device_mac\n quit"|bluetoothctl
sleep 5
echo "connect $device_mac\n quit"|bluetoothctl
sleep 5
pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` a2dp_sink

আপনার -eসাথে ব্যবহার করা উচিত echo
জার্নো

3

Xubuntu 16.04.2 এ
ব্লুম্যান-ম্যানেজার ব্যবহার করুন:

  1. সংযুক্ত -> প্রোফাইল সেট অফ করুন
  2. পুনরায় সংযোগ করুন -> প্রোফাইল এ 2 ডিপি সেট করুন
  3. এখন আপনার হেডসেট ঠিক আছে!

আমার জেবিএল বাশ স্ক্রিপ্ট

#!/bin/bash
#headset mac
mac="00:1D:DF:67:0A:29"
profile="a2dp"
# Special Bluetooth controller, default is empty
btMac=""
#connect|disconnect wait time
waitTime=5

macId="${mac//:/_}"
deviceId="bluez_card.$macId"

declare -A profiles
profiles['a2dp']='a2dp_sink'
profiles['hsp']='headset_head_unit'
profiles['off']='off'

function btCmd() {
    cmd="$1\nquit"
    [ ! -z "$btMac" ] && cmd="select $btMac\n$cmd"
    echo -e "$cmd" | bluetoothctl
}
function setProfile() {
    cmd="pactl set-card-profile $deviceId ${profiles[$1]}"
    echo $cmd
    $cmd
}
function btWaitConnect() {
    conState=$1
    for ((i=1;i<=$waitTime;++i)); do
        tmp="`btCmd "info $mac"|grep 'Connected: '`"
        [ ! -z "`echo "$tmp"|grep $conState`" ] && echo "$tmp" && return 0
        sleep 1s
    done
    echo "$tmp"
    return 1
}
function btConnect() {
    tmp="`btCmd "trust $mac\nconnect $mac" | grep -v 'NEW\|DEL\| quit'`"
    echo "$tmp"

    tmp="`btWaitConnect yes`"
    echo $tmp
    [ -z "`echo "$tmp" | grep yes`" ] && echo -e "Device $mac:\n\tConnected: fail." && return 1
    sleep 2s
    return 0
}
function btDisConnect() {
    tmp="`btCmd "disconnect $mac" | grep -v 'NEW\|DEL\| quit'`"
    echo "$tmp"

    tmp="`btWaitConnect no`"
    echo $tmp
    [ -z "`echo "$tmp" | grep no`" ] && echo -e "Device $mac:\n\tdisconnected: fail." && return 1
    sleep 1s
    return 0    
}


# controller
echo ""
btCtls="`btCmd list | grep '^Controller' | grep " $btMac"`"
echo -e "controller:\n$btCtls"
[ -z "$btCtls" -o ! -z "`echo "$btCtls" | grep "not available"`" ] && exit 1


# connect -> set off
echo ""
tmp="`btCmd paired-devices | grep '^Device' | grep " $mac"`"
echo -e "paired-devices:\n$tmp"
[ `echo "$tmp" | wc -l` != 1 ] && echo "Please pair the Bluetooth headset first: $mac" && exit 1
btConnect || exit $?
setProfile off

# reconnect -> set profile
btDisConnect || exit $?
btConnect || exit $?
setProfile $profile

এই উত্তর এবং @ ফ্রাইস্পেসটি আমার আই 3 সেটআপে আমাকে সহায়তা করেছে
লুইস লোবো বোরোবিয়া

সর্বশেষ আপডেটে ডিফল্ট সিঙ্ক সেট আপ করা রয়েছে তবে এটি প্রয়োজনীয় কিনা আমি জানি না।
জার্নো

2

সুতরাং, আপনি যদি ডেবিয়ান ব্যবহার করে থাকেন তবে আপনি নিম্নলিখিতগুলি করতে পারেন: প্রোফাইলটি a2dp_sink এ সরে যেতে অস্বীকার করেছেন: সংযুক্ত নেই

সমস্যা

ব্লুটুথ হেডসেট সংযুক্ত, তবে সংযুক্ত ডিভাইসটি তুলতে ALSA / পালস অডিও ব্যর্থ হয়েছে বা বাছাইয়ের কোনও ডিভাইস নেই। GDM অ্যাক্সেসযোগ্যতার জন্য gdm অধিবেশনটিতে পালসৌদিওর প্রয়োজন হওয়ায় এটি GDM অধিবেশন শুরুর সময় A2DP সিঙ্ক ক্যাপচার করে কারণ এটি ঘটে। উদাহরণস্বরূপ, স্ক্রিন রিডারটির এটির প্রয়োজন।

সমাধান

অধিবেশন শুরুর সময় জিডিএমকে A2DP সিঙ্ক ক্যাপচার করা থেকে বিরত রাখতে সম্পাদনা করুন /var/lib/gdm3/.config/pulse/client.conf(বা এটি তৈরি করুন, যদি এটি বিদ্যমান না থাকে):

autospawn = no
daemon-binary = /bin/true

এর পরে আপনাকে এই ফাইলটি ডেবিয়ান-জিডিএম ব্যবহারকারীকে অ্যাক্সেস দিতে হবে:

chown Debian-gdm:Debian-gdm /var/lib/gdm3/.config/pulse/client.conf

আপনাকে পালসওডিও স্টার্টআপটি অক্ষম করতে হবে:

rm /var/lib/gdm3/.config/systemd/user/sockets.target.wants/pulseaudio.socket

কিছু ডিভাইসের জন্য a2dp কে স্বয়ংক্রিয়ভাবে সংযুক্ত করতে, এটিকে এতে যুক্ত করুন /etc/pulse/default.pa:

load-module module-switch-on-connect

পুনরায় বুট করুন।


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

1

আমি নিশ্চিত যে পূর্ববর্তী উত্তরগুলি আসলে সমস্যার মূল কারণটি চিহ্নিত করার চেষ্টা করে। আমি তবে তাদের কোনওটিই কাজ করতে সক্ষম হইনি। আমার ওপি হিসাবে ঠিক একই সমস্যা ছিল তবে লিনাক্স মিন্টে 17/18। আমি এই স্ক্রিপ্টটি নির্ভরযোগ্যভাবে ব্লুটুথ সংযুক্ত এবং a2dp ব্যবহার করার জন্য লিখেছিলাম।

উত্তরোত্তর জন্য অনুলিপি / আটকানো হয়েছে, তবে বিষয়টির উদ্বেগটি হ'ল এটি ইউপিতে ওপি (এবং আমি) কী করতে হবে তা হুবহু প্রতিলিপি করে।

ডোমিনিকের স্ক্রিপ্টটি নির্ভরযোগ্যভাবে আমার জন্য কাজ করবে না, কারণ এটি কেবল একবার সেট আপ করার জন্য একবার চেষ্টা করবে । এটি কাজ করতে আমাকে একাধিকবার চালাতে হবে। এটিই আমি শেষ করেছি, যা প্রতিবার কাজ করে।

#!/bin/bash

MAC=$1
CARD=$(echo "${MAC}" | sed -e 's/:/_/g')
CARD="bluez_card.${CARD}"

$(pactl list | grep -qi 'Active Profile: a2dp_sink')
a2dpUsed=$?

# this loops until a2dp is _actually used_ on the given MAC.
while [ ${a2dpUsed} -ne 0 ];
do
    #
    echo "Restarting bluetooth."
    rfkill unblock bluetooth
    sudo service bluetooth restart
    sudo hciconfig hci0 up

    # reconnect
    echo -e "power on\nconnect ${MAC}" | bluetoothctl

    #
    echo "Waiting for headset to be connected..."
    btConnected=1

    while [ ${btConnected} -gt 0 ];
    do

        sleep .1
        $(bluetoothctl <<< "info ${MAC}" | grep -qi "Connected: yes")
        btConnected=$?
    done

    #
    echo "Bluetooth connected, waiting for profiles to register"

    cardFound=1
    while [ ${cardFound} -ne 0 ];
    do
        $(pactl list | grep -qi "${CARD}")
        cardFound=$?
    done

    #
    echo "Setting bluetooth a2dp profile"
    pactl set-card-profile ${CARD} a2dp_sink
    $(pactl list | grep -qi 'Active Profile: a2dp_sink')
    a2dpUsed=$?
done

echo "a2dp is working."

1

হিসাবে নথিভুক্ত এখানে , তার কারণ হল জিডিএম যেমনটি অধিবেশন শুরু বেসিনে A2DP, যেমন জিডিএম চাহিদা ব্যবহারের জন্য gdm সেশনে pulseaudio।
এটিকে "/var/lib/gdm3/.config/pulse/default.pa" এ যুক্ত করার চেষ্টা করুন বা এটি তৈরি করুন, তারপরে পুনরায় বুট করুন:

#!/usr/bin/pulseaudio -nF
#

# load system wide configuration
.include /etc/pulse/default.pa

### unload driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
  unload-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
  unload-module module-bluetooth-discover
.endif

0

আমি আমার ব্লুটুথ সেট আপ করার চেষ্টা করছিলাম এবং সর্বদা এই ত্রুটি পেয়েছি।

আমি দেখতে পেয়েছি যে সমস্যাটি স্কাইপ was আমার স্কাইপ চলমান থাকলে আমি a2dp_sinkপ্রোফাইল সেট করতে অক্ষম ।

সুতরাং, আপনি যদি এই সমস্যাটিতে চলে যান তবে দেখুন আপনার স্কাইপ চলছে কিনা এবং বন্ধ করে দিন।


0
systemctl restart bluetooth
  • সাউন্ড সেটিংস খুলুন (ট্রেতে স্পিকার আইকনে ক্লিক করে অ্যাক্সেসযোগ্য)
  • আউটপুট প্রোফাইলটি A2DP সিঙ্কে চেষ্টা করে দেখুন change
  • যদি এটি কাজ না করে তবে আপনার ডিভাইস স্পিকারে বা অন্য কোনও কিছুতে পরিবর্তন করুন এবং তারপরে এটিকে আবার স্যুইচ করুন।
  • আমি সাধারণত দেখতে পাই যে আমি তখন আমার আউটপুট প্রোফাইল সেট করতে পারি

0

আমি এটি একটি ওদেব নিয়মের সাথে সমাধান করতে বেছে নিয়েছি, কারণ আমি সিস্টেমটির একমাত্র ব্যবহারকারী, তাই $USER, $XAUTHORITYএবং $DISPLAYসুপরিচিত।

সম্ভবত এটি উবুন্টু 18.04.1 এলটিএসে চলমান, একটি একক ফাইলে সংজ্ঞায়িত সমাধান চান এমন কারও পক্ষে উপকারী।

হুকটি inputসাবসিস্টেমের মাধ্যমে ট্রিগার করা হয়েছে কারণ স্পিকারটি এই পর্যায়ে সম্পূর্ণরূপে সূচিত হয়েছে বলে মনে হয়।

# file: /etc/udev/rules.d/99-jbl-go2.rules
# fix JBL GO2 with CSR bluetooth: switch to a2dp profile upon connect
# byteborg 20190110
SUBSYSTEMS=="input", ACTION=="add", ATTRS{name}=="70:99:1C:41:C6:EB", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/run/user/1000/gdm/Xauthority", RUN+="/bin/su alpha -c '/usr/bin/pacmd set-card-profile bluez_card.70_99_1C_41_C6_EB a2dp_sink'"

আর্চলিনাক্স উইকি সংযোগের সময় কেমব্রিজ সিলিকন রেডিও ডিভাইসগুলির উল্লেখ করেছে ( https://wiki.archlinux.org/index.php/ ব্লুথুথ_হেডসেট#A2DP_sink_profile_is_unav উপলভ্য )। আমি "জেবিএল জিও 2" ব্লুটুথ স্পিকারের সাথে এই আচরণটি স্বীকার করতে পারি, ইতিমধ্যে উল্লিখিত মতো খারাপ ব্যবহার করে। a2dp সংযোগের অল্প সময়ের মধ্যেই পাওয়া যাবে বলে মনে হচ্ছে - সম্ভবত কোনও সময় সংক্রান্ত সমস্যা?


0

এটি আমার জন্য একটি সেট-কার্ড-প্রোফাইল সমস্যার সমাধান করেছে: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1181106/comments/15

উদ্ধৃতি:

1) Modify the /etc/bluetooth/audio.conf
================================

[General]
Enable = Source,Sink,Headset,Gateway,Control,Media
Disable = Socket

HFP=false

[A2DP]
SBCSources=1
MPEG12Sources=0

2) Check for pulseaudio module :
==========================

$ pactl list | grep -i module-bluetooth

If you dont have :
     module-bluetooth-policy
     module-bluetooth-discover
     module-bluetooth-device

Just do :
$ sudo apt-get install pulseaudio-module-bluetooth
$ pulseaudio -k
$ pactl load-module module-bluetooth-device
$ pactl load-module module-switch-on-connect

3) Connect the bluetooth headset
===========================

Use blueman to pair, and connect audio sink
Use pavucontrol to change for A2DP (even if blueman said "audio profile off")

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