(2007.02.13)その2
a2playがどうもあやしいので、自分で作成してみた。
libsbcも利用する。mpg123+a2play+automatic+libsbc+libbluetooth
"little-endian"である。
そうして、試したら、ナント!!動いたよ〜〜。カンゲキー。
% mpg123 --au - test.mp3 | a2play 00:08:F4:xx:xx:xx
ちゃんと、ヘッドフォンから音楽が聞こえてきたぞ。
bash-2.05# mpg123 --au - test.mp3 | a2play 00:08:F4:xx:xx:xx
こうなったら、ずっと(電車の中でとか)ヘッドフォンで聞いていたいので、
あるディレクトリィに入ってる曲を順に(あ、シャフルもしたいな)
無限回のループために、"auotomatic"というのをシェルスクリプトで
作ってみた。
ああ、こりゃ楽チンだは。BlueToothはCFのでも、USBのほうでもどちらでも動く
(2007.02.13)
BlueTooth関連をいじっているうちに、せっかくあるiPod用ヘッドセットアダプタ
iPHONO mini もザウルスからつなごうと思った。
その用途は。。。といっても、まあ、あまりないが、
ZAURUSにWAVファイルやMP3ファイルを入れておいて、それをBlueTooth経由で
ヘッドフォンで聞くことぐらいか。
まあそれも、数日で飽きてしまいそうだが。
目的は実験にあるのであって
つなげられることがためせればいい。
そうそう、qpeのでプログラムして、音量調節もザウルスから調節できるように
してあると面白い。スライダーみたいな、widgetを使って。
そういうわけで、とりあえず、接続できるのか、リサーチから始める。
なにをおいても最初にやるのは、% hcitool scan だろう。
ところが、これをしても、ひっかかってこない。ン!!。
う〜む。拾いずらいなぁ。
そうかと思い、とりあえず、いつものように、iPODに挿すアダプタもオンにして
ヘッドフォンとコネクト完了にしてみた。ああ、やっと、BDADDRが見れる。
こんな感じ。
bash-2.05# hcitool scan
Scanning ...
00:02:C7:xx:xx:xx MW-140BT0826
00:16:CB:xx:xx:xx Rainbow
00:08:F4:xx:xx:xx iPHONO mini ←←これ。
00:0D:B5:xx:xx:xx BT-GPS-32E07B
00:17:5C:xx:xx:xx 810SH
00:C0:EE:xx:xx:xx WX310K
00:00:85:xx:xx:xx Canon DS810-1
BDADDRがわかったところで、次には、これら、(infoとbrowse) をしてみる。
bash-2.05# hcitool info 00:08:F4:xx:xx:xx
Requesting information ...
BD Address: 00:08:F4:xx:xx:xx
Device Name: iPHONO mini
LMP Version: 2.0 (0x3) LMP Subversion: 0xbb8
Manufacturer: Silicon Wave (11)
Features: 0xff 0xff 0x85 0x78 0x08 0x08 0x00 0x00
<3-slot packets> <5-slot packets>
bash-2.05# sdptool browse 00:08:F4:xx:xx:xx
Browsing 00:08:F4:xx:xx:xx ...
Service Name: HSU
Service RecHandle: 0x90001
Service Class ID List:
"Headset" (0x1108)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100
Service Name: HFU
Service RecHandle: 0x90002
Service Class ID List:
"Handsfree" (0x111e)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0101
Service Name: A2DPSink
Service Provider: RF Micro Devices
Service RecHandle: 0x90003
Service Class ID List:
"Audio Sink" (0x110b)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x100
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0100
Service Name: AVRCP Controller
Service Provider: RF Micro Devices
Service RecHandle: 0x90004
Service Class ID List:
"AV Remote" (0x110e)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 23
"AVCTP" (0x0017)
uint16: 0x100
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"AV Remote" (0x110e)
Version: 0x0100
"Service Name"の項目を見ると、
- Service Name: HSU -- (HSP:HeadSet Profile)(channel 1)
- Service Name: HFU -- (HFP:Hands-Free Profile)(channel 2)
- Service Name: A2DPSink - (A2DP:Advanced Audio Distribution Profile)
- Service Name: AVRCP Controller - (AVRCP:Audio/Video Remote Control Profile)
とある。
ここ
Something Interesting Archives
を参考にして、さっそく、ヘッドフォンから音が出るか実験してみた。
残念、雑音だけが聞こえてくる。音楽が出てるらしいことはわかる。
これだけでも成果か。
直接、a2playでWAVファイルを指定して、動かすと、
% a2play 00:08:F4:xx:xx:xx test.wav
subbands = 8 blocks = 16 bitpool = 32
Data is not in Sun/NeXT audio S16_BE format
というのが出てしまう。これは、上記のHPでもそのように書いてあった。
で、つぎに、MP3ファイルを用意して、
% mpg123 --au - test.mp3 | a2play 00:08:F4:xx:xx:xx
をを!!ヘッドセットから音が出てる。。だけど、雑音のみ。
だけど、時間的には、音楽と同じ時間出てるようだ。もう少しだなぁ。