আমি কি আমার কম্পিউটারকে A2DP রিসিভার / ব্লুটুথ স্পিকার হিসাবে ব্যবহার করতে পারি?


40

প্রথমত, সমস্যা: আমি বেসিক কানের প্লেগগুলি সহ আমার প্রধান সঙ্গীত প্লেয়ার হিসাবে একটি কাউন এমপি 3 প্লেয়ার ব্যবহার করছি।

এটি এ 2 ডিপি সরবরাহ করে এবং আমি আমার নেটবুকটি (ইউএনই 10.04 চলছে) রিসিভার হিসাবে কাজ করতে চাই।

ওয়েবে এডিডিপি সম্পর্কে কিছু সংস্থান, তবে বেশিরভাগের মেয়াদ শেষ হয়ে গেছে:

উত্তর:


47

আপনার উবুন্টু মেশিনটি a2dp ব্লুটুথ ডিভাইস হিসাবে ব্যবহার করতে, আপনাকে প্রথমে এটি "এ 2 ডিপি সিঙ্ক" এন্ডপয়েন্ট হিসাবে নিবন্ধিত করতে কনফিগার করতে হবে।

Bluez উবুন্টুতে প্যাকেজ (10.04 এবং পরবর্তী) একটি ইউটিলিটি নামক অন্তর্ভুক্ত sdptool যে চেক করতে একটি Bluetooth ডিভাইস বা কোনো A2DP বেসিনে হিসাবে কনফিগার করা আছে কিনা ব্যবহার করা যাবে। আমার ব্লুটুথ হেডসেটের বিপরীতে sdptool রান থেকে প্রাপ্ত আউটপুট এখানে রয়েছে (জিনোম-নিয়ন্ত্রণ কেন্দ্রের "ঠিকানাটি" ব্লুটুথ সেটিংস "ডায়ালগটি গ্রহণ করছে):

$ sdptool search --bdaddr 00:18:16:3A:3B:D4 a2snk
Searching for a2snk on 00:18:16:3A:3B:D4 ...
Service RecHandle: 0x10002
Service Class ID List:
  "Audio Sink" (0x110b)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x102
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0102

$

এবং আমার স্থানীয় উবুন্টু মেশিনের বিরুদ্ধে চালানো হলে এখানে ফলাফল আউটপুট হয়:

$ sdptool search --bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 ...
$

এটি দেখায় যে উবুন্টু মেশিন নিজেকে একটি 2 ডিপি সিঙ্ক হিসাবে বিজ্ঞাপন দিচ্ছে না। এটি নিজেকে এডিডিপি উত্স হিসাবে বিজ্ঞাপন দিচ্ছে:

$ sdptool search --bdaddr local a2src
Searching for a2src on FF:FF:FF:00:00:00 ...
Service Name: Audio Source
Service RecHandle: 0x10003
Service Class ID List:
  "Audio Source" (0x110a)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x102
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0102

এটি উবুন্টু মেশিনকে অডিও উত্স হিসাবে হেডসেটের সাথে সঠিকভাবে যুক্ত করতে সক্ষম করে, তবে এটি ব্লুটুথ অডিওর জন্য উবুন্টু মেশিনটিকে আউটপুট (সিঙ্ক) হিসাবে ব্যবহার করতে সক্ষম করে না।

আপনি যদি সম্পাদনা করেন /etc/bluetooth/audio.confতবে [General]বিভাগের নীচে এই লাইনটি যুক্ত করে আপনি a2dp সিঙ্ক সমর্থন সক্ষম করতে পারেন :

  Enable=Source

এটি উভয়ই পাল্টা নামকরণ করা হয়েছে - যেহেতু আমরা এখানে যা যুক্ত করছি তা হ'ল ব্লুটুথ সিঙ্ক সমর্থন, উত্স সমর্থন নয় - এবং এই ফাইলটিতে করা মন্তব্যের সাথে বিরোধিতায় দাবি করা হয়েছে যে সমস্ত প্রয়োগকৃত পরিষেবাগুলি ডিফল্টরূপে সক্ষম করা হয়েছে claims :(

এই পরিবর্তনটি করার পরে, আপনাকে চালিয়ে ব্লুটুথড পুনরায় চালু করতে হবে sudo service bluetooth restart

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

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

 sudo apt-get install pulseaudio-module-bluetooth
 pactl load-module module-bluetooth-discover

তারপরে আপনাকে লুপব্যাক সংযোগ (কোনও উত্স থেকে ডুবে যাওয়ার জন্য একটি সরল রেখা) ব্যবহার করে এই আডিও ইনপুটটিকে আপনার আউটপুট / সিঙ্কে (যেমন আপনার স্পিকার বা একটি ব্লুটুথ হেডসেটে) রুট করতে আপনাকে পালস অডিওকে বলতে হবে।

পালস অডিওর পরবর্তী সংস্করণগুলিতে মডিউল-ব্লুটুথ-নীতি অন্তর্ভুক্ত থাকতে পারে এবং এটি ইতিমধ্যে আপনার জন্য একটি লুপব্যাক ডিভাইস সেট আপ করতে পারে তবে এটি সবচেয়ে সাধারণ ঘটনা বলে মনে হয় না।

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

 pactl load-module module-loopback

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

প্যাভুকন্ট্রোলটি খুলুন এবং এর কনফিগারেশন ট্যাবটি খুলুন। আপনার ব্লুটুথ ডিভাইসটি এখানে প্রদর্শিত হবে তা নিশ্চিত করুন (ব্লুম্যান-ম্যানেজার বা অন্য কোনও ব্লুটুথ সরঞ্জাম ব্যবহার করে এটির সাথে জুড়ি দেওয়ার পরে) এবং প্রোফাইলটি এ 2 ডিজে সেট করা আছে। ইনপুট ডিভাইস ট্যাবে স্যুইচ করুন এবং নিশ্চিত করুন যে আপনার ডিভাইসটি এখানে প্রদর্শিত হবে এবং নিঃশব্দ নয়। এখন রেকর্ডিং ট্যাবে স্যুইচ করুন এবং সদ্য তৈরি হওয়া লুপব্যাক সংযোগটি নিঃশব্দ বোতামের পাশের নির্বাচিত বাক্সের সাহায্যে আপনার ডিভাইসটিকে উত্স হিসাবে ব্যবহার করুন। লুবব্যাক সংযোগটি একইভাবে ব্যবহার করা উচিত সিঙ্কটি নির্বাচন করতে প্লেব্যাক ট্যাবে স্যুইচ করুন। লুপব্যাক ডিভাইস যদি ট্যাবগুলিতে না দেখায় তবে নিশ্চিত হয়ে নিন যে প্রতিটি স্ট্রিম প্রতিটি ট্যাবের নীচে সিলেক্টবক্স ব্যবহার করে প্রদর্শিত হবে।

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

যদি এটি কাজ করে না , বা আপনার প্যাভুকন্ট্রল ইনস্টল করা নেই, আপনি পরিবর্তে নিম্নলিখিত পদ্ধতিটি ব্যবহার করে লুপব্যাক সেট আপ করতে পারেন:

 pactl load-module module-loopback source_dont_move=yes source=$BTSOURCE sink=$SINK

( $BTSOURCEযেমন পালস অডিও দ্বারা দেখা আপনার ব্লুটুথ ডিভাইসের উত্স নামের সাথে bluez_source.14_DA_E9_2A_D7_57প্রতিস্থাপন করুন, এবং $SINKআপনি যে অডিও স্ট্রিমটি প্রেরণ করতে চান সেই পালস অডিও আউটপুটটির নামটি প্রতিস্থাপন করুন , যেমন: alsa_output.pci-0000_00_1b.0.analog-stereoআপনি ডুবে যুক্তিটি পুরোপুরি ছেড়ে দিতে পারেন এবং ফলব্যাক করতে পারেন একটি সক্রিয় ডুবায়, এবং এটি পরে প্যাভোকন্ট্রোলের মাধ্যমে পরিবর্তন করুন))

  • আপনি এটি $SINKসহ খুঁজে পেতে পারেন pactl list sinks, এটি পরে দেখানো হয়েছেName:
  • একইভাবে আপনি দেখতে পারেন $BTSOURCEসঙ্গেpactl list sources
  • source_dont_moveযুক্তি প্রতিরোধ যখন Bluetooth ডিভাইস সংযোগ বিচ্ছিন্ন হয়ে অন্য অডিও উত্স ফিরে স্খলন থেকে লুপব্যাক সংযোগ নেই। পরিবর্তে এটি সরানো হয়েছে এবং আপনাকে পরের বার এটি আবার সেট আপ করতে হবে।

এখানে একটি উদাহরণ দেখতে কেমন হবে ( ব্লুটুথ ঠিকানার :সাথে এটি প্রতিস্থাপন করতে ভুলবেন _না!):

pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo

যদি ফ্যালব্যাক মডিউলটি লোড করা ব্যর্থ হয়, source_dont_move=yesযুক্তিটি সরিয়ে চেষ্টা করুন , এটি প্রথম সংস্করণ 1.0 এ উপলব্ধ করা হয়েছিল। তারপরে আপনি এই অডিওটি ফেলে দেওয়ার আগে এই লুপব্যাক সংযোগটি সরিয়ে ফেলতে সতর্ক হন বা উদাহরণস্বরূপ যদি আপনার ল্যাপটপ মাইক্রোফোনটি নিঃশব্দ করা থাকে তবে আপনি কিছু খুব খারাপ প্রতিক্রিয়া পেতে পারেন। এই লুপব্যাক সংযোগটি ম্যানুয়ালি ড্রপ করতে আপনার হয়ে গেলে, চালান:

pactl unload-module $(pactl list short modules | grep "loopback.*$BTSOURCE" | cut -f1)

আবার, $BTSOURCEপালস অডিও উত্সের নামের সাথে প্রতিস্থাপন করুন যা আপনার ব্লুটুথ ডিভাইসকে বোঝায়। আপনি লোড-মডিউল কমান্ড দ্বারা ফিরে আইডি ব্যবহার করে মডিউলটি আনলোড করতে পারেন:

$ pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
15
$ pactl unload-module 15

তথ্যসূত্র:

  • এটি কীভাবে উবুন্টুতে স্থির করা হচ্ছে তার কিছু বিশদরেখার ব্লগ পোস্ট

আমরা কি নির্দিষ্ট ডিভাইস সিঙ্কের জন্য চ্যানেল মানচিত্র পরিবর্তন করতে পারি
প্রকাশ ভি হলকার

হাই হাই এবং বিস্তারিত গাইডের জন্য আপনাকে ধন্যবাদ। pactl load-module module-bluethooth-discoverউবুন্টু স্টুডিওতে কমান্ডটি ব্যর্থ হয়েছে 14.04। সুতরাং আমি কোনও bluezউত্স দেখতে পাচ্ছি না pulseaudio, যদিও আমার ফোনটি পিসিকে সঠিকভাবে অডিও সিঙ্ক হিসাবে দেখছে। কোন ধারনা?
নাস

যদি pactl list sources shortআপনার জন্য নীল উত্সটি না দেখায়, আমি দুটি সম্ভাব্য সমাধান পেয়েছি: কল করুন gdbus call --system --dest org.bluez --object-path /org/bluez/XXX/hci0/dev_XX_XX_XX_XX_XX_XX --method org.bluez.AudioSource.Connectযেখানে ( পথটিতে আপনি ডিভাইস বিডি ঠিকানা এবং অ্যাডাপ্টার পাথ অন্তর্ভুক্ত করতে পারেন যা আপনি পেতে পারেন gdbus call --system --dest org.bluez --object-path / --method org.bluez.Manager.DefaultAdapter)। অথবা এখানে বর্ণিত হিসাবে ডি-ফুট ব্যবহার করুন । অন্যথায় ফোনে সংযোগ করুন এবং কিছু খেলতে শুরু করুন।
ট্র্যাভিয়েও

আমি এখনও ব্লুজের কোনও উত্স দেখানো দেখছি না। লিনাক্স মিন্ট 17.3 "রোজা" এখানে।
ডানকিক্সোট

1
কি দারুন! সর্বনিম্ন পরিবর্তনগুলি (/etc/bluetuth/main.conf এর পরিবর্তে Audio.conf) এর সাহায্যে এটি রাসবিয়ানে কাজ করে। আপনাকে ধন্যবাদ! (ওই ওএসে কোনও লুপব্যাক কনফিগারেশন প্রয়োজন নেই)
জ্যামি

13

আমি ব্লুম্যান ব্যবহার করি, উবুন্টু সফটওয়্যার কেন্দ্র থেকে ইনস্টল করা। ব্লুম্যান আইকন * -> "স্থানীয় পরিষেবা" -> অডিও-> "উন্নত অডিও অভ্যর্থনা" টিপুন টিপুন টিপুন টিপুন। বিটিডব্লু আমি আমার অ্যান্ড্রয়েড ফোনে কী খেলি তা আমার উবুন্টু ১১.১০ এর ল্যাপটপে শুনতে এটি ব্যবহার করি।

* নীল রঙের আইকনটি জিনোম শেল + উবুন্টু ১১.১০ এর নীচে-ডানদিকে দেখানো হয়েছে, এটি আমার ক্ষেত্রে। আমি আশা করি এটি আপনার জন্য কোনও উপায়ে কার্যকর হবে।


অডিওর জন্য ব্লুম্যান কনফিগারেশন ইন্টারফেস কেবল /etc/bluetuth/audio.conf এ সক্ষম = উত্স মান সেট করে, সুতরাং আমি দেখতে পাচ্ছি না এটি কীভাবে অ্যান্ড্রয়েডকে অডিও আউটপুট হিসাবে কম্পিউটার ব্যবহার করতে সক্ষম করে।
স্ল্যাংসেক 23

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

আমি এটি চেষ্টা করেছিলাম এবং এটি অডিও সিঙ্ক হিসাবে সনাক্ত করতে পারি না। : - /
জোর্হে কাস্ত্রো

ব্লুম্যান 12.04-এ আমার জন্য শূন্য ইস্যু ছাড়া আমার ইন্ডিকেটর অ্যাপলেটে দুটি ব্লুটুথ আইকন দিয়ে শেষ করার বিষয়টি ছাড়াও কাজ করেছিল।
এইচডিভ

7

উবুন্টু 12.04 এ এখন সত্যিই সহজ

আপনার ব্লুটুথ ডিভাইস সংযুক্ত করুন

আপনার ব্লুটুথ ডিভাইস অনুসন্ধান করুন এবং এর উত্স নম্বরটি নোট করুন:

pactl list sources 

ব্লুটুথ ডিভাইসের জন্য একটি লুপব্যাক করুন:

pactl load-module module-loopback source=$SOURCE_NUMBER  

যেখানে previously SOURCE_NUMBER হল সেই নম্বরটি যা আপনি আগে নোট করেছেন।

উদাহরণস্বরূপ, আমি কাজ করতে অডিও প্লেব্যাক পেতে নিম্নলিখিতটি প্রবেশ করলাম:

$ pactl load-module module-loopback source=3  

এটাই! আমি উপরের উত্তরের সমাধানটি কিছুটা জটিল বলে খুঁজে পেয়েছি, সুতরাং আমি এটিকে সহজ করেছিলাম (অনেক কম টাইপিং এবং অনুলিপি / আটকানো)। যদিও আপনি ব্লুটুথ ডিভাইসের আগে তালিকাভুক্ত কোনও অডিও ডিভাইস সরিয়ে ফেললে আমার সমাধানটি সম্ভবত ভেঙে যাবে pactl list sources

এছাড়াও, ব্লুটুথ ডিভাইস সংযোগ বিচ্ছিন্ন করার আগে লুপব্যাক মডিউলটি সরাতে ভুলবেন না:

আপনি তৈরি লুপব্যাক ডিভাইসের মডিউল নম্বরটি নোট করুন:

pactl list short modules

লুপব্যাক ডিভাইসটি সরান:

pactl unload-module $MODULE_NUMBER

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

ব্লুটুথ A2DP ডিভাইস সংযোগগুলি দেখার জন্য শেল স্ক্রিপ্ট ব্যবহার করে এবং স্বয়ংক্রিয়ভাবে এটির জন্য একটি লুপব্যাক মডিউল লোড করার জন্য সম্ভবত ডাবাস-মনিটরের উত্তোলনের একটি উপায় রয়েছে তবে এটি আমার মাথা থেকে একটু সরে গেছে।

আশা করি উবুন্টু ১২.১০ তে আমাদের আর ম্যানুয়ালি এটি করার দরকার নেই।


নির্দিষ্ট ডুবির জন্য মডিউল-লুপব্যাক লোড করার পরে, আমরা বিশেষ ডিভাইসের মডিউল-লুপব্যাকের চ্যানেল মানচিত্রটি বাম বা ডানদিকে পরিবর্তন করতে পারি
প্রকাশ ভি হলকার

3

১৩.০৪-তে, উবুন্টু ল্যাপটপের সাথে আপনার উত্স ডিভাইসটি জুড়ুন এবং এটি কেবল কার্যকর! এটি এখন এত সহজ ছিল যে খুঁজে পেয়ে খুব শীতল।



0

উত্তরের চেয়েও সহজ সমাধান।

আপনি কেবল যেতে পারেন

sudo apt-get install pulseaudio*

তারপরে পুনরায় বুট করুন। রিবুট করার পরে, আপনার ব্লুটুথের সাথে সংযুক্ত হন এবং কেবল আপনার ফোনে সঙ্গীত খেলুন। আপনার কম্পিউটারে সবকিছু সঞ্চারিত হবে এবং কম্পিউটারের স্পিকারগুলিতে খেলবে।

এবং হ্যাঁ! আপনাকে স্বাগতম.


apt-getনিয়মিত এক্সপ্রেশন ব্যবহার করে, ওয়াইল্ডকার্ড নয়। সুতরাং কী ব্যবহার করে ইনস্টল করা হবে তা আপনার কোনও ধারণা নেই pulseaudio*(ইঙ্গিত: এটি কেবল প্যাকেজগুলির সাথে শুরু হয় না pulseaudi)। এবং পালস অডিও ইতিমধ্যে ডিফল্ট উবুন্টু ইনস্টলেশনের অংশ।
মারু

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