(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"の項目を見ると、 とある。
ここ 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
をを!!ヘッドセットから音が出てる。。だけど、雑音のみ。
だけど、時間的には、音楽と同じ時間出てるようだ。もう少しだなぁ。