HI I am using the http://omapedia.org/wiki/4AI.1.7_OMAP4_Icecream_Sandwich_Panda_Notes for my 4460 pandaboard.
According to http://e2e.ti.com/support/omap/f/849/t/226568.aspx, If I want to hear the music through the BT
I should :
1) Use the DVI port if you are using a Pandaboard
2) Pair your BT headset or device
3) Go to the BluetoothSCOA application and check the option to enable music via media player
4) Open media player and start the playback.
But could I use the Advanced Audio Distribution Profile (A2DP) instand of the Hands-Free Profile ?
Because the sound of that is very bad and I want to use the HCI_TX & HCI_RX to send the sond.
Also it seem very strange to go to the BluetoothSCOA application and check the option to enable music via media player.
Thanks
Hi
I have the same problem.
Can you soveld it.
Oh,Yeah! I also found this problem! Does TI not support A2DP? On my project, we need A2DP feature!
maybe it lack of the wpan
but I don't know how to do it yet.
Hi Sunny,
The use of BluetoothSCOA is just to let android know that now the audio have to go to the Bluetooth port instead of the speakers or the headset, and set the path.
Regards!
ICe
It's very glad to see you again..
I know that the BluetoothSCOA is let android know that now the audio have to go to the Bluetooth port .
But there are two preoblems:
1. I have paired my BT headset . why it can't tell the android to let the audio go to the Bluetooth port ? As normal, it will let the audio of android go to the a2dp.
2. When I use the BluetoothSCOA. it will send the audio to the Bluetooth port . But it uses the pcm (Hands-Free Profile right ?) ,the sound of that is very bad .
Can it use the HCI_TX & HCI_RX port ?(Hands-Free Profile right ?)
*********************************************************************************************************
I modify the device.mk, add the audio.a2dp.default lib
# BlueZ a2dp Audio HAL modulePRODUCT_PACKAGES += audio.a2dp.default
and i see the log:
******************************************************************************************************
D/BluetoothA2dpService( 183): A2DP: onSinkPropertyChanged newState is: 2mPlayingA2dpDevice: nullD/BluetoothA2dpService( 183): A2DP state : device: 8C:64:22:C0:B1:CD State:1->2I/BluetoothProfileState( 183): Message:Entering Stable StateD/audio_hw_primary( 109): adev_get_supported_devices(0xf98b10)D/A2DP ( 109): a2dp_init rate: 44100 channels: 2D/A2DP ( 109): a2dp_thread startedD/A2DP ( 109): bluetooth_initI/AudioFlinger( 109): AudioFlinger's thread 0xface50 ready to runI/AudioFlinger( 109): AudioFlinger's thread 0xfa3c40 ready to runD/A2DP ( 109): a2dp_stop
but it can't let the music go to the a2dp....... why?
It's the full log:
**************************************************************************************************************************************
I/BluetoothProfileState( 171): Message:Entering PendingCommandState StateI/BluetoothDeviceProfileState( 171): Entering OutgoingHandsfree state with: 1D/Bluetooth HSHFP( 297): Device: 8C:64:22:C0:B1:CD Headset state0 -> 1D/CachedBluetoothDevice( 356): Command sent successfully:CONNECT Address:8C:64:22:C0:B1:CD Profile:HEADSETD/BluetoothService( 171): CONNECTION_STATE_CHANGE: 8C:64:22:C0:B1:CD: 0 -> 1D/BluetoothA2dpService( 171): connectSink(8C:64:22:C0:B1:CD)I/BluetoothProfileState( 171): Message:Entering PendingCommandState StateD/CachedBluetoothDevice( 356): Command sent successfully:CONNECT Address:8C:64:22:C0:B1:CD Profile:A2DPD/Bluetooth HSHFP( 297): SDP UUID: TYPE_HANDSFREEI/BT HSHFP( 297): Created RFCOMM socket fd 73.I/BT HSHFP( 297): async connect is in progress (Operation now in progress)V/BluetoothEventManager( 356): Received android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGEDD/CachedBluetoothDevice( 356): onProfileStateChanged: profile HEADSET newProfileState 1D/BluetoothEventLoop( 171): Device property changed: 8C:64:22:C0:B1:CD property: Connected value: trueI/BluetoothEventLoop.cpp( 171): agent_event_filter: Received method org.bluez.Agent:RequestPairingConsentI/BT HSHFP( 297): Successful RFCOMM socket connect.D/Bluetooth HSHFP( 297): RFCOMM connection attempt took 5267 msD/Bluetooth HSHFP( 297): Rfcomm connectedD/Bluetooth HSHFP( 297): Device: 8C:64:22:C0:B1:CD Headset state1 -> 2V/BluetoothEventManager( 356): Received android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGEDD/CachedBluetoothDevice( 356): onProfileStateChanged: profile HEADSET newProfileState 2I/BluetoothProfileState( 171): Message:Entering Stable StateD/Bluetooth HSHFP( 297): Saved priority 8C:64:22:C0:B1:CD = 1000D/BluetoothService( 171): CONNECTION_STATE_CHANGE: 8C:64:22:C0:B1:CD: 1 -> 2I/BluetoothDeviceProfileState( 171): Entering ACL Connected state with: 102I/BluetoothDeviceProfileState( 171): Entering OutgoingA2dp state with: 3D/BluetoothA2dpService( 171): A2DP state : device: 8C:64:22:C0:B1:CD State:0->1I/BluetoothDeviceProfileState( 171): Entering ACL Connected state with: 102D/BluetoothA2dpService( 171): A2DP: onSinkPropertyChanged newState is: 1mPlayingA2dpDevice: null[ 775.767974] input: AVRCP as /devices/virtual/input/input3D/EventHub( 171): No input device configuration file found for device 'AVRCP'.I/EventHub( 171): New device: id=4, fd=221, path='/dev/input/event2', name='AVRCP', classes=0x80000001, configuration='', keyLayout='/system/usr/keylayout/AVRCP.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=falseI/InputReader( 171): Device added: id=4, name='AVRCP', sources=0x00000101V/BluetoothEventManager( 356): Received android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGEDD/CachedBluetoothDevice( 356): onProfileStateChanged: profile A2DP newProfileState 1D/BluetoothA2dpService( 171): A2DP: onSinkPropertyChanged newState is: 2mPlayingA2dpDevice: nullD/BluetoothA2dpService( 171): A2DP state : device: 8C:64:22:C0:B1:CD State:1->2I/BluetoothProfileState( 171): Message:Entering Stable StateD/A2DP ( 106): a2dp_init rate: 44100 channels: 2D/A2DP ( 106): a2dp_thread startedD/A2DP ( 106): bluetooth_initI/AudioFlinger( 106): AudioFlinger's thread 0x1bd87f0 ready to runI/AudioFlinger( 106): AudioFlinger's thread 0x1bdb1c8 ready to runD/A2DP ( 106): a2dp_stopI/Bluetooth HeadsetBase( 297): Error processing <AT*SEAUDIO=7,7009>I/Bluetooth HeadsetBase( 297): Error processing <AT*SEABS=0, 100>I/Bluetooth HeadsetBase( 297): Error processing <AT+GCLIP=1>D/dalvikvm( 356): GC_CONCURRENT freed 417K, 10% free 7438K/8199K, paused 2ms+11msV/BluetoothEventManager( 356): Received android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGEDD/CachedBluetoothDevice( 356): onProfileStateChanged: profile A2DP newProfileState 2I/Bluetooth HeadsetBase( 297): Error processing <AT*SEAM="MW600",13>I/Bluetooth HeadsetBase( 297): Error processing <AT+CLAN?>I/Bluetooth HeadsetBase( 297): Error processing <AT*EIPS=2,1>I/Bluetooth HeadsetBase( 297): Error processing <AT+COLP=1>I/Bluetooth HeadsetBase( 297): Error processing <AT+CCLK?>I/AudioService( 171): AudioFocus abandonAudioFocus() from android.media.AudioManager@410de8d8com.android.music.MediaPlaybackService$3@410dd2a0I/ActivityManager( 171): Start proc com.android.musicfx for broadcast com.android.musicfx/.ControlPanelReceiver: pid=820 uid=10029 gids={3003, 3002}D/dalvikvm( 104): GC_EXPLICIT freed 36K, 5% free 6520K/6851K, paused 5ms+5msV/MusicFXControlPanelReceiver( 820): onReceiveV/MusicFXControlPanelReceiver( 820): Action: android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSIONV/MusicFXControlPanelReceiver( 820): Package name: com.android.musicV/MusicFXControlPanelReceiver( 820): Audio session: 56V/MusicFXControlPanelEffect( 820): closeSession(android.app.ReceiverRestrictedContext@410d0a68, com.android.music, 56)D/dalvikvm( 104): GC_EXPLICIT freed <1K, 5% free 6520K/6851K, paused 4ms+5msD/dalvikvm( 104): GC_EXPLICIT freed <1K, 5% free 6520K/6851K, paused 3ms+2ms
D/LocalBluetoothManager( 356): setting foreground activity to nullD/dalvikvm( 263): GC_CONCURRENT freed 447K, 9% free 6714K/7303K, paused 4ms+5msI/ActivityManager( 171): START {act=android.intent.action.RINGTONE_PICKER cmp=android/com.android.internal.app.RingtonePickerActivity (has extras)} from pid 356D/dalvikvm( 171): GC_CONCURRENT freed 474K, 9% free 9039K/9863K, paused 5ms+9msD/dalvikvm( 356): GC_CONCURRENT freed 370K, 8% free 7545K/8199K, paused 4ms+5msI/ActivityManager( 171): Displayed android/com.android.internal.app.RingtonePickerActivity: +370msE/ASFDummyExtractor( 106): isASFParserAvailable W/ASFDummyExtractor( 106): ASF parser is not availableI/AudioSink( 106): Channelcount = 1I/AudioPlayer( 106): mLatencyUs = 348000
*******************************************************************************************************************
I/Bluetooth HeadsetBase( 297): Error processing <AT*SEAM="MW600",13>I/Bluetooth HeadsetBase( 297): Error processing <AT+CLAN?>I/Bluetooth HeadsetBase( 297): Error processing <AT*EIPS=2,1>I/Bluetooth HeadsetBase( 297): Error processing <AT+COLP=1>I/Bluetooth HeadsetBase( 297): Error processing <AT+CCLK?>
I fond this errors in other machines too ,but they can play the music.
That is because the audio manager for panda is very basic, it is not able to handle several streams and only supports that profile for BT. It is up to the community to make it more complex and support even more profiles. You may want to ask to the panda mailing list how to do that.