Hi friends,
I'm trying to set volume up or down using AUD_Send_Remote_Control_Response. I'm getting error MSG always as "Volume changed event has not been registered" or "Absolute volume not supported" something like this errors. I'm using blutopia stack and tried in Android phone.
how to solve this issue or Any thoughts ?
Below Setvolume code :
int SetVolume (int CurrentVolume)
{
int ret_val;
int Result;
AUD_Remote_Control_Response_Data_t RemoteControlResponseData;
/* First check to see if a valid Bluetooth Stack ID exists. */
if(BluetoothStackID)
{
/* Now, check that the input parameters appear to be at least */
/* semi-valid. */
if(RemoteControlConnection)
{
if(AbsoluteVolumeEnabled)
{
/* As a sink, a volume changed notification will be */
/* sent if it has be registered. */
if(VolumeChangedEventTransactionID >= 0)
{
RemoteControlResponseData.MessageType = amtRegisterNotification;
RemoteControlResponseData.MessageData.RegisterNotificationResponseData.EventID = AVRCP_EVENT_VOLUME_CHANGED;
RemoteControlResponseData.MessageData.RegisterNotificationResponseData.ResponseCode = AVRCP_RESPONSE_CHANGED;
RemoteControlResponseData.MessageData.RegisterNotificationResponseData.NotificationData.VolumeChangedData.AbsoluteVolume = CurrentVolume;
if((Result = AUD_Send_Remote_Control_Response(BluetoothStackID, ConnectedBD_ADDR, VolumeChangedEventTransactionID, &RemoteControlResponseData)) == 0)
{
DisplayFunctionSuccess("AUD_Send_Remote_Control_Response");
ret_val = 0;
/* Volume changed event is no longer registered */
/* so invalidate the transaction ID. */
VolumeChangedEventTransactionID = -1;
}
else
{
DisplayFunctionError("AUD_Send_Remote_Control_Response", Result);
ret_val = FUNCTION_ERROR;
}
}
else
{
Display(("Volume changed event has not been registered.\r\n"));
ret_val = FUNCTION_ERROR;
}
}
else
{
Display(("Absolute volume not supported\r\n"));
ret_val = FUNCTION_ERROR;
}
}
else
{
Display(("Remote control not connected\r\n"));
ret_val = FUNCTION_ERROR;
}
}
else
{
/* No valid Bluetooth Stack ID exists. */
Display(("Stack ID Invalid.\r\n"));
ret_val = INVALID_STACK_ID_ERROR;
}
return(ret_val);
}